书生大模型实战营第四期-入门岛-2. Python关卡任务
书生大模型实战营-第四期
闯关手册:https://github.com/InternLM/Tutorial/blob/camp4/docs/L0/Python/task.md
任务类型 | 任务内容 | 预计耗时 |
---|---|---|
闯关任务 | Leetcode 383(笔记中提交代码与leetcode提交通过截图) | 20mins |
闯关任务 | Vscode连接InternStudio debug笔记 | 10mins |
可选任务 | pip安装到指定目录 | 10mins |
任务一
任务内容
完成Leetcode 383,笔记中提交代码与leetcode提交通过截图。
作业过程
结果:
代码:
from collections import Counter
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
# 统计每个字符出现的次数
ransom_count = Counter(ransomNote)
magazine_count = Counter(magazine)
# 遍历 ransomNote 中的每个字符,检查 magazine 中是否有足够的供应
for char, count in ransom_count.items():
if magazine_count[char] < count:
return False
return True
任务二
任务内容
下面是一段调用书生浦语API实现将非结构化文本转化成结构化json的例子,其中有一个小bug会导致报错。请大家自行通过debug功能定位到报错原因并做修正。
TIPS:
- 打断点查看下LLM返回的文本结果。造成本bug的原因与LLM的输出有关,学有余力的同学可以尝试修正这个BUG。
- 作业提交时需要有debug过程的图文笔记,必须要有打断点在debug中看到
res
变量的值的截图。 - 避免将api_key明文写在程序中!!! 本段demo为了方便大家使用debug所以将api_key明文写在代码中,这是一种极其不可取的行为!
作业过程
首先在开发机中运行打断点并运行任务代码,查看LLM返回内容:
from openai import OpenAI
import json
import os
def internlm_gen(prompt,client):
'''
LLM生成函数
Param prompt: prompt string
Param client: OpenAI client
'''
response = client.chat.completions.create(
model