首页 > 其他分享 >书生大模型实战营L0G2000作业

书生大模型实战营L0G2000作业

时间:2024-11-17 09:15:33浏览次数:3  
标签:实战 prompt L0G2000 api res 书生 content json client

任务一

class Solution(object):
    def canConstruct(self, ransomNote, magazine):
        """
        :type ransomNote: str
        :type magazine: str
        :rtype: bool
        """
        if len(ransomNote) > len(magazine):
            return False
        r_c = collections.Counter(ransomNote)
        m_c = collections.Counter(magazine)
        print(r_c, m_c)
        return not(r_c - m_c)

任务二

debug左侧发现res的值为'```json\n{\n  "model_name": "书生浦语InternLM2.5",\n  "development_institution": "上海人工智能实验室",\n  "parameter_versions": ["1.8B", "7B", "20B"],\n  "context_length": "1M"\n}\n```',格式不符合json规范,需做更改

将res前后多余的'```'与'json\n'去掉,且利用正则表达式把[1.8B, 7B, 20B] 包裹为字符串

正确代码:

from openai import OpenAI
import json
import os
import re
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 = os.getenv('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 = res.strip('```').strip('json\n')
res = re.sub(r'(\d+\.\d+B|\d+B)', r'"\1"', res)

res_json = json.loads(res)
print(res_json)

成功

可选任务

标签:实战,prompt,L0G2000,api,res,书生,content,json,client
From: https://blog.csdn.net/qq_45212409/article/details/143821033

相关文章