0.准备工作
本教程/记录基于Ubuntu2204发行版本,母项目为https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web ,并假设拥有自己的域名与服务器。本教程并非面向基于Vercel快速部署,基于Vercel快速部署请参照ChatGPT-Next-Web项目文档。
操作与宝塔面板与1panel等其他运维面板兼容,由于ChatGPT-Next-Web的部署特性,基于docker部署。
1.把项目拉到本地并部署
两种选择,一种是本地部署,一种是docker部署。
本地部署通过原作者提供的脚本
bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)
进行部署。
推荐没有本地再开发的用户进行容器部署,即docker。
docker pull yidadaa/chatgpt-next-web
如果你用的是宝塔或1panel等运维面板,恭喜你可以直接在面板的应用商店中搜索到ChatGPT-Next-Web并进行便捷部署。但是为了运用Azure Openai的GPT服务,你仍然需要自定义环境变量配置。
2.环境变量配置
最关键的一步,如果你不配置好正确的环境变量,ChatGPT-Next-Web有一些情况会直接从openai接口进行交互,导致Azure的认证无法通过从而无法进行通信。
你可以保持环境变量已有的openai接口部分不变,并添加以下部分。
environment:
- AZURE_URL=你的azure终结点
- AZURE_API_KEY=你的azure秘钥
- AZURE_API_VERSION=如果是GPT-4turbo用2023-08-01-preview,如果是GPT-4Turbo-Vision用2023-12-01-preview
- CUSTOM_MODELS=-all,+gpt-4-1106-preview(可选)
AZURE_URL的完整格式是https://{azure-resource-url}/openai/deployments/{deploy-name}
也就是你从Azure portal上复制下来的副本,加上/openai/deployments/{deploy-name}。{deploy-name}是你在Azure Openai Studio中的部署名称(你自己起的,注意去掉{})。
这些配置是azure openai必须的,AZURE_API_VERSION变量注意如果是GPT-4turbo用2023-08-01-preview,如果是GPT-4Turbo-Vision用2023-12-01-preview。CUSTOM_MODELS是一个可选变量,-all代表不显示所有模型,+gpt-4-1106-preview表示只显示gpt4turbo模型。这是为了防止不同用户环境下模型切换造成401或404认证错误。
注意我们假设你部署在一个公开网络环境下,所以你应该设置一个访问密码以防未经允许的人使用:
environment:
- CODE=你的访问密码
你的访问密码应该足够长,以防被暴力破解。
3.运行服务
在运行服务前,请注意你容器的端口转发或防火墙。如果你通过https在同一个地址下有多个网页,记得配置反向代理而非防火墙443以外的端口。
如果你成功了,你应该可以访问你的域名地址或端口来进入ChatGPT-Next-Web。现在你可以看到ChatGPT-Next-Web提示你输入访问密码(如果你之前设置了)。这时候你只需要前往连接界面输入你的访问密码,然后再进行聊天测试,即可验证你的部署是否成功。
4.常见问题
在部署Azure Openai时,有两个常见的错误提示,分别是404和401。
404意味着你有环境变量没有配置对,也有可能是路由到openai去了,这时候只需要修改一下默认属于openai的环境变量即可。
environment:
- OPENAI_API_KEY=填写你的azure秘钥即可
- BASE_URL=一般不需要写,如果实在路由不过去或者出401可以写你的azure终结点。(不需要带部署名)
401大多数情况是你的秘钥和终结点填写错误,也有小概率是你环境变量打错变量名了,比如_(下划线)打成了-(短横杠),请仔细检查。也有可能你需要更改一下BASE_URL,但是甚至不需要改对即可。