大模型的Python基础知识 - 第四期书生大模型实战营实验记录(入门岛-第2关)

150 阅读3分钟

我目前正在参加“书生大模型实战营”。这是一个旨在帮助学员掌握大模型开发和应用的实战课程。

为了更好地记录完成过程,我根据官方提供的教程文档提取了核心步骤,并去掉了详细的背景知识介绍和说明,这样后续一个手册查找起来会更加直观。

但建议大家在实际学习过程中还是多看看原文,因为原文档确实非常的详细和完整,方便了解每一步的具体原因和背后的原理,这样有助于更牢固地掌握知识,提高实战能力。

入门岛-第2关

本地环境:Win11。

原文:github.com/InternLM/Tu…

完成任务步骤记录

任务一:破冰活动:自我介绍

目标:完成Leetcode 383, 笔记中提交代码与leetcode提交通过截图。

完成所需时间:教程推荐20分钟,大概10分钟结束。

步骤

  1. 登录Leetcode平台

    • 访问 Leetcode 并完成登录。 如果没有账号直接手机号登录即可。
  2. 进行答题

    • 通过链接直接进入答题界面,leetcode.cn/problems/ra…
    • 本地编写测试后,直接粘贴运行,运行结果通过后,进行提交即可。

class Solution(object):
    def canConstruct(self, ransomNote, magazine):
        """
        :type ransomNote: str
        :type magazine: str
        :rtype: bool
        """
        # 创建一个字典来记录 magazine 中每个字符的出现次数
        char_count = {}
        
        # 记录 magazine 中每个字符的出现次数
        for c in magazine:
            if c in char_count:
                char_count[c] += 1
            else:
                char_count[c] = 1
        
        # 检查 ransomNote 中的每个字符是否都能从 magazine 中获取
        for c in ransomNote:
            if c in char_count and char_count[c] > 0:
                char_count[c] -= 1
            else:
                return False
        
        return True

任务二:实践项目:构建个人项目

目标:熟悉VSCode下远程debug python代码。

完成所需时间:10分钟,代码比较简单,但是VSCode确实不太熟悉,差不多10分钟。

步骤

  1. 连接SSH: 使用上节课的环境,直接连接上。

  2. debug运行: 可以按照教程进行配置,由于之前对VSCode不熟悉,这块比较花费时间。 后续调试比较容易。

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)
# 处理json markdown代码
if res.startswith("```json"):
    length = len(res)
    res = res[8:length-3]
res_json = json.loads(res)
print(res_json)

任务三:pip安装到指定目录

目标:熟悉pip命令,按照指定目录进行安装。

完成所需时间:10分钟,看过教程,很快就完成了。

步骤

  1. 建立文件夹: mkdir -p /root/myenvs

  2. 安装: 如果没有设置国内镜像,会稍微慢点。 pip install numpy -t /root/myenvs

  3. 引用: import numpy as np x = np.empty([3,2], dtype = int) print (x)