任务一:
class Solution(object):
def canConstruct(self, ransomNote, magazine):
"""
:type ransomNote: str
:type magazine: str
:rtype: bool
"""
mag_counts = {}
for char in magazine:
if char in mag_counts:
mag_counts[char] += 1
else:
mag_counts[char] = 1
for char in ransomNote:
if char not in mag_counts or mag_counts[char] == 0:
return False
mag_counts[char] -= 1
return True
任务一通过截图:
任务二:
报错
提示说解码不了,有可能传入的res的格式是错误的。
打印res内容为
```json
{
"model_name": "书生浦语InternLM2.5",
"development_institution": "上海人工智能实验室",
"parameter_versions": [1.8B, 7B, 20B],
"context_length": "1M"
}
```
说明是Markdown格式的json,就要去掉这些另外的内容。
print(type(res))后发现是字符串,所以调用字符串方法strip()去除
注意如果命名为newres也是会报这样的错的,即使你格式正确。
最终代码如下:
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)
new_res = res.strip('```json').strip('```').strip()
res_json = json.loads(new_res)
print(res_json)