#书生大模型
uid: 4573
别的不说,这个项目的文档写的非常详细、用心。
L0G1000 linux基础
任务:ssh连接并运行hello_world.py
闯关任务需要在关键步骤中截图:
| 任务描述 | 完成所需时间 | |
| 闯关任务 | 完成SSH连接与端口映射并运行hello_world.py | 10min |
| 可选任务 1 | 将Linux基础命令在开发机上完成一遍 | 10min |
| 可选任务 2 | 使用 VSCODE 远程连接开发机并创建一个conda环境 | 10min |
因为可选任务1、2的引导对我个人不必要,所以就完成了闯关任务。
-
用最低的配置:


-
配置SSH公钥
我的笔记本是 Windows系统,查找文件 C:\Users\{Username}\.ssh\id_rsa.pub ,打开后就是SSH 公钥的内容了。
如果没找到对应文件,先用命令行命令 `ssh-keygen -t rsa` 生成
-
点击【进入开发机】,进入主界面

这个UI还挺漂亮的。
-
按照文档,安装依赖 gradio

有点慢,等了会儿。
-
按照文档,创建hello_world.py 并运行
vim打开文件,粘贴文档里的内容,然后 ESC,:wq 保存。

-
端口映射
在Server上已经启动了服务,现在需要在本地机器上使用端口映射,将Server上的服务映射到本地机器上,从而用本地机器的浏览器访问Web元素。
官方已经给了ssh的端口映射命令,在UI里找到自定义服务,然后直接复制bash命令,粘贴到powershell或者其他命令行工具上就行。

-
访问结果:

L0G2000 Python基础
| 任务类型 | 任务内容 | 预计耗时 |
| 闯关任务 | Leetcode 383(笔记中提交代码与leetcode提交通过截图) | 20mins |
| 闯关任务 | Vscode连接InternStudio debug笔记 | 10mins |
| 可选任务 | pip安装到指定目录 | 10mins |
任务一:Leetcode 383
挺好,正好这题没做过。
不得不说,Python这种高级语言写起来就是很简洁。
-
1:
from collections import Counter
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
cnt1,cnt2=Counter(ransomNote),Counter(magazine)
for k,v in cnt1.items():
if k not in cnt2.keys(): return False
elif v> cnt2[k]: return False
return True

-
2
from collections import Counter
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
cnt1,cnt2=Counter(ransomNote),Counter(magazine)
return all(v<=cnt2[k] for k,v in cnt1.items())

任务二:Vscode连接InternStudio debug笔记
定位bug,然后实现非结构化文本转化json的功能。
原来的代码:
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)
-
VSCode用SSH连接:

-
根据文档,复制粘贴内容,在有读写权限的目录下创建python文件:

-
获取自己的api_key,并打开 terminal,在terminal里设置 api_key,然后运行,发现没装openai依赖。

-
第二次运行发现错误,安装Debugger再尝试

-
打断点,debug:

-
发现原来的代码错误,一可能在于api_key没有设置;二在于得到的res没有解析好,如果返回的是choices.message.content,那要自己解析得到 json非常非常困难,不如用openai的API ChatCompletion的.json()方法。修改后,成功运行:

&spm=1001.2101.3001.5002&articleId=143583120&d=1&t=3&u=d78eb6f5bc4446f489e57a3b8f94d7cc)
245

被折叠的 条评论
为什么被折叠?



