一、关卡任务
二、实验
2.1 赎金信
题目描述
题解
class Solution:
def canConstruct(self, ransomNote, magazine):
counts = {}
for c in magazine:
counts[c] = counts.get(c, 0) + 1
for c in ransomNote:
if c not in counts or counts[c] == 0:
return False
counts[c] -= 1
return True
提交记录
2.2 vscode debug
2.2.1 单文件debug
在.vscode文件夹下创建launch.json文件
添加断点,这里可以编辑断点的类型
表达式断点
触发计数断点
记录日志断点
运行,选择 Current File
2.2.2 命令行debug
很多时候我们要debug的不止是一个简单的python文件,而是很多参数,参数中不止会有简单的值还可能有错综复杂的文件关系,甚至debug一整个项目。这种情况下,直接使用命令行来发起debug会是一个更好的选择。
修改launch.json配置:添加 Remote Attach
安装依赖:
启动debug server:注意这里的端口号要与lauch.json保持一致
vscode debug选择 Remote Attach
这里可以读到输入的的命令行参数
2.2.3 问题调试
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)
这里 模型返回的结果是 markdown 形式的富文本而非完全的符合json格式的字符串
返回数据的实际格式:
将多余markdown内容去除
最终结果: