Leetcode 383
代码:
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
count = [0]*26
for c in magazine:
count[ord(c)-ord('a')] += 1
for c in ransomNote:
count[ord(c)-ord('a')] -= 1
if count[ord(c)-ord('a')]<0:
return False
return True
通过截图:
Vscode连接InternStudio debug笔记
代码:
from openai import OpenAI
import json
def internlm_gen(prompt,client):
'''
LLM生成函数
Param prompt: prompt string
Param client: OpenAI client
'''
response = client.chat.completions.create(
model="internlm2.5-latest",
messages=[
{"role": "user", "content": prompt},
],
stream=False
)
return response.choices[0].message.content
api_key = ''
client = OpenAI(base_url="https://internlm-chat.intern-ai.org.cn/puyu/api/v1/",api_key=api_key)
content = """
书生浦语InternLM2.5是上海人工智能实验室于2024年7月推出的新一代大语言模型,提供1.8B、7B和20B三种参数版本,以适应不同需求。
该模型在复杂场景下的推理能力得到全面增强,支持1M超长上下文,能自主进行互联网搜索并整合信息。
"""
prompt = f"""
请帮我从以下``内的这段模型介绍文字中提取关于该模型的信息,要求包含模型名字、开发机构、提供参数版本、上下文长度四个内容,以json格式返回。
`{content}`
"""
res = internlm_gen(prompt,client)
res_json = json.loads(res)
print(res_json)
debug截图:
根据debug的变量值可以发现,llm返回的res为:
'根据提供的模型介绍文字,提取的信息如下:\n\n```json\n{\n "model_name": "书生浦语InternLM2.5",\n "development_institution": "上海人工智能实验室",\n "parameter_versions": ["1.8B", "7B", "20B"],\n "maximum_context_length": "1M"\n}\n```'
因此出去json格式的信息外,还有一些额外信息,则会就导致后面进行json解析时出错。
bug解决:
使用re将res中json格式的信息提取出来:
from openai import OpenAI
import json
def internlm_gen(prompt,client):
'''
LLM生成函数
Param prompt: prompt string
Param client: OpenAI client
'''
response = client.chat.completions.create(
model="internlm2.5-latest",
messages=[
{"role": "user", "content": prompt},
],
stream=False
)
return response.choices[0].message.content
api_key = ''
client = OpenAI(base_url="https://internlm-chat.intern-ai.org.cn/puyu/api/v1/",api_key=api_key)
content = """
书生浦语InternLM2.5是上海人工智能实验室于2024年7月推出的新一代大语言模型,提供1.8B、7B和20B三种参数版本,以适应不同需求。
该模型在复杂场景下的推理能力得到全面增强,支持1M超长上下文,能自主进行互联网搜索并整合信息。
"""
prompt = f"""
请帮我从以下``内的这段模型介绍文字中提取关于该模型的信息,要求包含模型名字、开发机构、提供参数版本、上下文长度四个内容,以json格式返回。
`{content}`
"""
res = internlm_gen(prompt,client)
import re # 导入re模块
pattern = r"{[\s\S]*}" # 正则表达式模式匹配字符串,用于匹配目标文本中的json信息。
res = re.findall(pattern, res)[0] # 提取json信息
res_json = json.loads(res)
print(res_json)
运行成功截图: