网站域名想更换要怎么做,不需要网站备案的空间,网站做抽奖活动,扬州网站建设 开元FastChat是一个用于训练、提供服务和评估基于大型语言模型的聊天机器人的开放平台。其核心特点包括#xff1a;
最先进模型#xff08;例如 Vicuna#xff09;的权重、训练代码和评估代码。一个分布式的多模型提供服务系统#xff0c;配备 Web 用户界面和与 OpenAI 兼容的… FastChat是一个用于训练、提供服务和评估基于大型语言模型的聊天机器人的开放平台。其核心特点包括
最先进模型例如 Vicuna的权重、训练代码和评估代码。一个分布式的多模型提供服务系统配备 Web 用户界面和与 OpenAI 兼容的 RESTful API。 本篇博客介绍如何在aws instance上通过FastChat部署vicuna大模型。首先需要在aws申请带GPU的instance以及安装CUDA driver这部分内容请参考上一篇博客。 配置好CUDA的driver后就可以按照FastChat官方给出的安装步骤开始部署大模型了。
下载FastChat代码
git clone https://github.com/lm-sys/FastChat.git cd FastChat
安装相关依赖包
pip3 install -e .[model_worker,webui]
下载大模型参数以及启动大模型
python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5 如果在启动过程中提示缺少protobuf包的错误那么执行命令安装protobuf。 安装命令pip install protobuf。如果下载启动模型过程中无问题会看到下面的截图信息可以看到执行上面的命令过程中下载了大模型参数文件也就是xxx.bin文件下载完成后启动了大模型。 大模型启动成功后在USER字段后面输入信息就会得到大模型返回的内容具体如下图所示ASSISTANT字段后面的内容就是大模型返回的内容。 除了直接通过命令行中输入信息与大模型交互外FastChat还支持提供与OpenAI 兼容的 RESTful API要启动API只需要执行下面三行命令即可
#Launch controller
pip3 install -e .[model_worker,webui]#Launch model work
python3 -m fastchat.serve.model_worker --model-path lmsys/vicuna-7b-v1.5#Launch the RESTful API server
python3 -m fastchat.serve.openai_api_server --host localhost --port 8000 执行完上面的命令就可以通过API调用的方式与部署的大模型进行交互了。以下图为例输入curl命令可以看到返回了内容。且这个API是完全兼容了OpenAI api。
curl http://localhost:8000/v1/chat/completions \-H Content-Type: application/json \-d {model: vicuna-7b-v1.5,messages: [{role: user, content: Hello! What is your name?}]} 除了通过接口与大模型直接对话还可以通过接口获取输入信息的向量信息。
curl http://localhost:8000/v1/embeddings \-H Content-Type: application/json \-d {model: vicuna-7b-v1.5,input: Hello world!}
返回的向量信息如下图所示 除了通过curl命令调用接口外还支持通过编程方式调用api。安装openai的包pip install --upgrade openai编写调用接口的代码。
import openai
# to get proper authentication, make sure to use a valid key thats listed in
# the --api-keys flag. if no flag value is provided, the api_key will be ignored.
openai.api_key EMPTY
openai.api_base http://localhost:8000/v1model vicuna-7b-v1.5
prompt Once upon a time# create a completion
completion openai.Completion.create(modelmodel, promptprompt, max_tokens64)
# print the completion
print(prompt completion.choices[0].text)# create a chat completion
completion openai.ChatCompletion.create(modelmodel,messages[{role: user, content: Hello! What is your name?}]
)
# print the completion
print(completion.choices[0].message.content) 执行上面的python脚本可以看到打印了大模型返回的信息结果如下图所示 上面只介绍了部署vicuna大模型以及如何启动大模型的api。实际上FastChat支持部署多个大模型例如国内的ChatGLM大模型以及国外的很多开源大模型。具体可见官网信息。在部署过程中只需要修改--model-pathxx即可。例如如果要通过fastchat部署国内的ChatGLM大模型部署命令是 “python3 -m fastchat.serve.cli --model-pathTHUDM/chatglm-6b”在调用api的时候接口参数model的值替换成自己部署的大模型名称即可例如ChatGLM模型调用的时候接口参数的modechatglm-6b. 以上就是对如果通过FastChat部署开源大模型的过程介绍。