一、准备
本项目使用 www.perfxcloud.cn大模型平台,网站上有详细的说明文档。
快速开始 | PerfXClouddocs.perfxlab.cn/docs/tutorial-basics/get-started/
注意:PerfXCloud的API接口兼容 OpenAI 的ChatGPT,可以直接使用 OpenAI SDK或者其他中间件来访问 PerfXCloud。这使得开发者从ChatGPT或者其他平台切换到PerfXCloud变得非常非常容易。
1.如果还没有PerfXCloud的账号,可以登录网站创建一个。
2.PerfXCloud目前支持:
Meta-Llama-3.1-405B,Meta-Llama-3.1-8B-Instruct,DeepSeek-V2-Lite-Chat,Mixtral-8x7B-Instruct-v0.1-GPTQ,DeepSeek-V2-Chat,BAAI/bge-m3,BAAI/bge-large-zh-v1.5,BAAI/bge-large-en-v1.5,Qwen2-72B-Instruct, Qwen1.5-72B-Chat-GPTQ-Int4, Qwen2-72B-Instruct-GPTQ-Int4, Meta-Llama-3-70B-Instruct-GPTQ-Int4, Qwen-14B-Chat-Int4, Meta-Llama-3-8B-Instruct,Llama3-Chinese_v2, chatglm3-6b,llama-3-8b, Qwen1.5-7B,Qwen2-7B,gpt2, SOLAR-10_7B-Instruct,llama-2-7b, PHI_1-5,opt-1b3, phi-2,internLM, Mistral-7B-Instruct, MindChat-Qwen-7B-v2,StarCoder-1B (还在持续更新中)
二、Llama 3.1
Llama3.1是由Meta公司开发的一款开源多语言大型语言模型(LLMs),标志着人工智能领域在处理自然语言理解和生成方面的重大进步。这款模型以其庞大的数据集、先进的架构和优化的微调技术而著称,为多语言对话和其他自然语言处理任务提供了强大的支持。
Llama 3.1模型基于自回归语言模型,采用了优化的Transformer架构。这种架构使得模型能够捕捉到语言中的长距离依赖关系,从而更好地理解和生成自然语言。
模型的调整版本通过监督式微调(SFT)和基于人类反馈的强化学习(RLHF)进一步优化,这些调优方法使得 Llama 3.1 在多语言对话等复杂任务中表现出色,能够更好地理解用户的指令并生成有用的响应。确保生成的文本既符合人类的偏好,又具有高度的安全性和有用性。
三、 Qwen2
相比Qwen1.5,Qwen2在大规模模型实现了非常大幅度的效果提升。我们对Qwen2-72B进行了全方位的评测。在针对预训练语言模型的评估中,对比当前最优的开源模型,Qwen2-72B在包括自然语言理解、知识、代码、数学及多语言等多项能力上均显著超越当前领先的模型,如Llama-3-70B以及Qwen1.5最大的模型Qwen1.5-110B。这得益于其预训练数据及训练方法的优化。
四、 实现过程
1.克隆chatgpt-clone代码 (本项目是基于https://github.com/xtekky/chatgpt-clone开发)
git clone https://gitee.com/PerfXCloud-APP/chatgpt-clone.git
(1) 进入chatgpt-clone项目根目录
cd chatgpt-clone
(2) 创建虚拟环境
python -m venv venv
(3) 激活虚拟环境
source venv/bin/activate
(4) 安装chatgpt-clone项目的依赖包
pip install -r requirements.txt
目前,已经完成了chatgpt-clone项目的运行环境。
1.环境变量配置
使用PerfxCloud实现ChatGPT-clone的web应用,需要对chatgpt-clone项目中的三个文件进行环境变量配置
(1) 打开chatgpt-clone/config.json
如上图所示,图中左侧为chatgpt-clone项目中原始的config.json的内容,其中,红色方框处为我们需要修改的内容,修改结果如上图右侧蓝色方框处所示。
{
"site_config": {
"host" : "0.0.0.0",
"port" : 1338,
"debug": true
},
"openai_key": "sk-xxx",
"openai_api_base": "https://cloud.perfxlab.cn",
"proxy": {
"enable": false,
"http": "127.0.0.1:7890",
"https": "127.0.0.1:7890"
}
}
(2) 打开chatgpt-clone/server/config.py
如上图所示,在models中加入PerfxCloud的适配信息。
models = {
'text-gpt-0040-render-sha-0': 'gpt-4',
'text-gpt-0035-render-sha-0': 'gpt-3.5-turbo',
'text-gpt-0035-render-sha-0301': 'gpt-3.5-turbo-0314',
'text-gpt-0040-render-sha-0314': 'gpt-4-0314',
'text-gpt-0040-render-sha-turbo': 'gpt-4-turbo',
'text-gpt-4o-render-sha-0': 'gpt-4o',
# perfxcloud适配
'text-gpt-0035-render-sha-0': 'Qwen2-72B-Instruct-GPTQ-Int4',
'text-gpt-0035-render-sha-0': 'Meta-Llama-3.1-8B-Instruct',
}
(3) 打开chatgpt-clone/client/html/index.html
如上图所示,在index.html文件的“model”模块中加入PerfxCloud的适配模型。
<option value="Meta-Llama-3.1-8B-Instruct">Meta-Llama-3.1-8B-Instruct</option>
<option value="Qwen2-72B-Instruct-GPTQ-Int4">Qwen2-72B-Instruct-GPTQ-Int4</option>
chatgpt-clone项目运行
在完成环境配置之后,即可在chatgpt-clone项目的根目录下执行以下代码:
python3 run.py
在程序运行起来之后,进入浏览器,在浏览器输入127.0.0.1:1338/chat/
并回车,即可进入chatgpt-clone的web页面,如下图所示。
本项目视频教程地址:
https://www.bilibili.com/video/BV1qS421X7AGwww.bilibili.com/video/BV1qS421X7AG
本项目代码地址:
PerfXCloud_APP/chatgpt-clonegitee.com/PerfXCloud-APP/chatgpt-clone编辑