目录
二、部署InternLM2-Chat-1.8B模型进行智能对话
四、使用 Lagent 运行 InternLM2-Chat-7B 模型
4.2 使用 Lagent 运行 InternLM2-Chat-7B 模型为内核的智能体
4.4 作业-huggingface_hub python 包下载InternLM2-Chat-7B 的 config.json 文件
一、前置准备
1.1 电脑操作系统:windows 11
1.2 前置服务安装(避免访问127.0.0.1被拒绝)
1.2.1 iis安装并重启
操作:控制面板----程序和功能----启用或关闭windows功能----Internet Information Services & Internet Information services可承载的Web核心
输入127.0.01,出现以下界面就是成功了
1.2.2 openssh安装
操作:添加可选功能----openssh
1.2.3 openssh服务更改为自动模式
操作:cmd----service.msc----openssh切换成自动方式
1.2.4 书生·浦语平台 ssh配置
(1)终端生成SSH密钥
ssh-keygen -t rsa
(2)ssh公钥复制到InternStudio
密钥放在C:\Users\Administrator/.ssh/id_rsa下,进入到目录下进行查看、复制
type id_rsa.pub
(3)点击首页的配置SSH Key,将公钥复制进去
(4)本地终端ssh连接
操作:平台点击ssh连接,复制登录命令至终端
1.3 补充(前置服务ok仍被拒绝)
1.3.1 确认是否设置隧道,端口号是ssh连接的端口号,如果要输密码就是ssh的密码,我这边跳过密码了。
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p 38894
1.3.2 确认6006端口是否被占用,占用就杀掉进程
netstat ano | findstr : 6006
1.3.3 防火墙是否关闭
二、部署InternLM2-Chat-1.8B模型进行智能对话
2.1 配置基础环境
conda activate demo
pip install huggingface-hub==0.17.3
pip install transformers==4.34
pip install psutil==5.9.8
pip install accelerate==0.24.1
pip install streamlit==1.32.2
pip install matplotlib==3.8.3
pip install modelscope==1.9.5
pip install sentencepiece==0.1.99
2.2 下载 InternLM2-Chat-1.8B
模型
(1)创建2个python脚本
mkdir -p /root/demo
touch /root/demo/cli_demo.py
touch /root/demo/download_mini.py
cd /root/demo
(2)下载模型参数文件
import os
from modelscope.hub.snapshot_download import snapshot_download# 创建保存模型目录
os.system("mkdir /root/models")# save_dir是模型保存到本地的目录
save_dir="/root/models"snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b",
cache_dir=save_dir,
revision='v1.1.0')
python /root/demo/download_mini.py
(3)下载模型(cli_demo.py)
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""messages = [(system_prompt, '')]
print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")
while True:
input_text = input("\nUser >>> ")
input_text = input_text.replace(' ', '')
if input_text == "exit":
breaklength = 0
for response, _ in model.stream_chat(tokenizer, input_text, messages):
if response is not None:
print(response[length:], flush=True, end="")
length = len(response)
2.3 运行结果
conda activate demo
python /root/demo/cli_demo.py
三、部署八戒-Chat-1.8B模型进行智能对话
3.1 配置基础环境
(1)进入环境并用Git获取demo
conda activate demo
cd /root/
git clone https://gitee.com/InternLM/Tutorial -b camp2
cd /root/Tutorial
3.2 demo并运行
(1)windows终端运行(38894替换成自己的端口)
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p 38894
(2)平台运行
python /root/Tutorial/helloworld/bajie_download.py
streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006
3.3 运行结果
四、使用 Lagent
运行 InternLM2-Chat-7B
模型
4.1 配置基础环境
(1)进入conda环境
conda activate demo
(2)下载Lagent相关代码并安装
git clone https://gitee.com/internlm/lagent.git
cd /root/demo/lagent
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac
pip install -e .
4.2 使用 Lagent
运行 InternLM2-Chat-7B
模型为内核的智能体
(1)进入lagent文件夹,设置软链接快速访问方式
cd /root/demo/lagent
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b
(2)更改模型路径
修改进入lagent/examples/internlm2_agent_web_demo_hf.py第71行
value='/root/models/internlm2-chat-7b'
(3)运行(前提:已经设置隧道。出现拒绝访问参考 1.2、1.3 章节)
streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006
4.3 运行结果
4.4 作业-huggingface_hub python 包下载InternLM2-Chat-7B
的 config.json
文件
(1)安装huggingface_hub
pip install -U huggingface_hub
(2)创建下载脚本
(3)运行
五、部署 浦语·灵笔2
模型
5.1 图文写作
(1)进入conda环境
conda activate demo
(2)补充环境包
pip install timm==0.4.12 sentencepiece==0.1.99 markdown2==2.4.10 xlsxwriter==3.1.2 gradio==4.13.0 modelscope==1.9.5
(3)下载 InternLM-XComposer 仓库 相关的代码资源
cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626
(4)构造软链接
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /root/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /root/models/internlm-xcomposer2-vl-7b
(5)启动 InternLM-XComposer
cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_composition.py \
--code_path /root/models/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006
(6)访问127.0.0.1:6006
5.2 图片理解
(1)进入conda环境
(2)启动 InternLM-XComposer2-vl
cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_chat.py \
--code_path /root/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006
(3)访问127.0.0.1:6006
六、课程总结
6.1 课程收获
6.1.1 关于Lagent
一个轻量级的开源框架,帮助用户高效构建基于大型语言模型(LLM)的智能代理。它还提供了一些典型的工具来增强LLM的功能。
主要特点包括高效的推理引擎支持、对多种代理的支持、极简易的扩展能力以及支持多种LLM,如GPT-3.5/4、LLaMA 2和InternLM等。
Lagent的设计旨在提高扩展性和可用性,允许用户通过简单的继承和装饰来创建个性化的工具集,从而使模型到智能代理的转换只需一步操作。此外,Lagent的文档也经过了全面的升级,覆盖了完整的API文档。
Lagent支持通过简单的代码定义智能代理、动作以及与LLM的交互,使得构建智能代理变得更加直接和灵活。
当前,LLM Agent正处于实验和概念验证阶段。在实际使用中还面临着诸多挑战,如处理任务时的循环问题、记忆模块的策略问题以及因幻觉问题而错误使用工具的问题等。这些问题的解决需要LLM本身的进一步发展和Agent框架的优化。然而,围绕LLM Agent的生态正在逐渐丰富,探索Agent模型、框架以及应用的研究正在积极进行中,旨在提升Agent的能力,使其能更好地应对现实世界的复杂性。