这个实战营是我自己参加,觉得内容非常不错的,因为开源免费,内容也是有一定难度的,有兴趣的一起学习。
实战营第二关,主要是学习下python的基础知识。
任务要求如下:
1.任务一:python编程
Leetcode 383,这个题目的具体内容是这样的:
我得靠大模型帮助才行。。。
2.任务二:Vscode连接InternStudio debug
调用书生浦语API实现将非结构化文本转化成结构化json的例子
首先获取API Tokens
训练营给了一段代码,通过debug发现,响应的内容前后有多余的标记和换行符,json.loads() 无法正确解析。响应是用代码块格式包裹的,不是有效的 JSON 格式,需要去掉这些额外的标记。下面代码OK了
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 ='ey******'
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)
# 打印响应内容以供调试
print("Raw Response:", repr(res))
# 检查响应是否为空
if not res:
print("Response is empty")
else:
# 去除多余的空格和换行符
res = res.strip()
# 去掉代码块标记
if res.startswith("```json") and res.endswith("```"):
res = res[8:-3].strip() # 去掉开头的 ```json 和结尾的 ```
# 修正 JSON 格式,确保参数版本用双引号包围
res = res.replace("1.8B", "\"1.8B\"").replace("7B", "\"7B\"").replace("20B", "\"20B\"")
print("Processed Response:", repr(res))
try:
res_json = json.loads(res)
print("Parsed JSON:", res_json)
except json.JSONDecodeError as e:
print("JSON decoding error:", e)
输出结果是这样的
就用简单的API调用,我们就能抽取出文本中的关键信息了 !
扫二维码报名一起学吧