0.1 环境配置
首先打开Terminal,运行如下脚本创建虚拟环境:
# 创建虚拟环境 conda create -n langgpt python=3.10 -y
运行下面的命令,激活虚拟环境:
conda activate langgpt
之后的操作都要在这个环境下进行。激活环境后,安装必要的Python包,依次运行下面的命令:
# 安装一些必要的库 conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y # 安装其他依赖 pip install transformers==4.43.3 pip install streamlit==1.37.0 pip install huggingface_hub==0.24.3 pip install openai==1.37.1 pip install lmdeploy==0.5.2
0.2 创建项目路径
运行如下命令创建并打开项目路径:
## 创建路径 mkdir langgpt ## 进入项目路径 cd langgpt
0.3 安装必要软件
运行下面的命令安装必要的软件:
apt-get install tmux
1.2 部署模型为OpenAI server
由于服务需要持续运行,需要将进程维持在后台,所以这里使用tmux
软件创建新的命令窗口。运行如下命令创建窗口:
tmux new -t langgpt
创建完成后,运行下面的命令进入新的命令窗口(首次创建自动进入,之后需要连接):
tmux a -t langgpt
进入命令窗口后,需要在新窗口中再次激活环境,命令参考0.1节。然后,使用LMDeploy进行部署,参考如下命令:
使用LMDeploy进行部署,参考如下命令:
CUDA_VISIBLE_DEVICES=0 lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --server-port 23333 --api-keys internlm2
服务启动完成后,可以按Ctrl+B进入tmux
的控制模式,然后按D退出窗口连接
部署成功后,可以利用如下脚本调用部署的InternLM2-chat-1_8b模型并测试是否部署成功。
from openai import OpenAI client = OpenAI( api_key = "internlm2", base_url = "http://0.0.0.0:23333/v1" ) response = client.chat.completions.create( model=client.models.list().data[0].id, messages=[ {"role": "system", "content": "请介绍一下你自己"} ] ) print(response.choices[0].message.content)
第一次检查没成功,又倒回去部署了一遍
检查无误了,部署成功
1.3 图形化界面调用
InternLM部署完成后,可利用提供的chat_ui.py
创建图形化界面,在实战营项目的tools项目中。
首先,从Github获取项目,运行如下命令:
git clone https://github.com/InternLM/Tutorial.git
下载完成后,运行如下命令进入项目所在的路径:
cd Tutorial/tools
进入正确路径后,运行如下脚本运行项目:
python -m streamlit run chat_ui.py
之前端口映射完了,可直接进入左侧边栏为对话的部分设置,其中最大token长度设置为0时表示不限制生成的最大token长度。API Key和Base URL是部署InternLM时的设置,必须填写。在保存设置之后,可以启动对话界面:
(emmmm)