ChatGPT Next Web介绍
ChatGPT Next Web项目用于搭建私人ChatGPT对话平台,可广泛用于朋友之间账号分享、公司内部员工共享使用等。
主要优势:
- 1.自有域名访问:使用个人或者组织专属域名访问,无需使用openAI ChatGPT 官方域名。
- 2.客户端无需特殊网络:服务器部署ChatGPT Next Web后,客户端直接连接自有服务器,客户端无需配置特殊网络环境,使用稳定。服务器需要能够访问ChatGPT接口,配置相应的网络环境支持。
- 3.支持定制prompt:用户可定制专属的聊天prompt面具,实现专有对话角色。
- 4.界面简洁:易于上手,支持手机浏览器访问。
ChatGPT Next Web技术原理
普通用户如果使用ChatGPT官方功能,需要配置特殊网络,有自己的ChatGPT账号等条件,深度依赖用户侧的网络环境。
ChatGPT Next Web通过用户服务器端部署,实现客户提问先访问用户服务器,然后服务器代理访问到ChatGPT。只需要服务器能够访问ChatGPT API接口,客户端无需做任何配置。简单来说,ChatGPT Next Web是一款通过定制的聊天界面后台代理访问ChatGPT的开源项目。
ChatGPT Next Web部署准备工作
1.域名
域名后缀无特殊要求,可使用企业自有域名,或者自行注册。如果用户主要是国内,可使用国内域名服务商,使用国内的域名解析服务,避免解析不稳定和高延迟问题。
2.服务器
调用官方的API接口:需要准备国际服务器(香港机器不支持),建议使用考虑到中美的地域延迟问题,选择一个优质的服务器提供商尤为重要。推荐选择稳定性和速度都较好的服务提供商,推荐:spartanhost斯巴达西雅图线路、DMIT CN2 GIA线路、搬瓦工GIA线路
调用国内中转服务商的API接口:准备国内服务器即可,也可使用企业自有服务器资源。
服务器配置不做要求,使用2核2G服务器够用,服务器按照linux操作系统。
3.ChatGPT API KEY
可购买官方API,需要准备国际卡;也可购买国内中转KEY,响应速度也不错。
完整部署步骤
1.服务器安装Docker和Nginx
Docker是一个开源平台,用于自动化应用程序的部署,方便了next web的安装和运行。推荐先安装宝塔,在宝塔中完成docker和Nginx的自动安装。
2.docker一键部署
步骤一、拉取镜像
docker pull yidadaa/chatgpt-next-web
步骤二、运行docker
如果使用openAI官方的API KEY,并且服务器能够直接访问官方接口,直接使用以下代码一键部署:
docker run -d -p 3000:3000
-e OPENAI_API_KEY=sk-xxxx
-e CODE=页面访问密码
yidadaa/chatgpt-next-web
OPENAI_API_KEY改成官方KEY,CODE改成自定义访问密码
如果使用国内中转API KEY,使用以下代码一键部署:
docker run -d -p 3000:3000
-e OPENAI_API_KEY=中转KEY
-e CODE=页面访问密码
--net=host
-e BASE_URL=中转地址
yidadaa/chatgpt-next-web
OPENAI_API_KEY改成官方KEY,CODE改成自定义访问密码,BASE_URL改成中转服务商的地址,示例格式:https://api.openai.com
如果您有个性化的需求,可参考增加以下可选配置项:
BASE_URL (可选)
Default: https://api.openai.com
Examples: http://your-openai-proxy.com
OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填写此选项。
如果遇到 ssl 证书问题,请将 BASE_URL 的协议设置为 http。
OPENAI_ORG_ID (可选)
指定 OpenAI 中的组织 ID。
AZURE_URL (可选)
形如:https://{azure-resource-url}/openai/deployments/{deploy-name}
Azure 部署地址。
AZURE_API_KEY (可选)
Azure 密钥。
AZURE_API_VERSION (可选)
Azure Api 版本,你可以在这里找到:Azure 文档。
GOOGLE_API_KEY (optional)
Google Gemini Pro 密钥.
GOOGLE_URL (optional)
Google Gemini Pro Api Url.
HIDE_USER_API_KEY (可选)
如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。
DISABLE_GPT4 (可选)
如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。
ENABLE_BALANCE_QUERY (可选)
如果你想启用余额查询功能,将此环境变量设置为 1 即可。
DISABLE_FAST_LINK (可选)
如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可。
CUSTOM_MODELS (可选)
示例:+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo 表示增加 qwen-7b-chat 和 glm-6b 到模型列表,而从列表中删除 gpt-3.5-turbo,并将 gpt-4-1106-preview 模型名字展示为 gpt-4-turbo。 如果你想先禁用所有模型,再启用指定模型,可以使用 -all,+gpt-3.5-turbo,则表示仅启用 gpt-3.5-turbo
用来控制模型列表,使用 + 增加一个模型,使用 – 来隐藏一个模型,使用 模型名=展示名 来自定义模型的展示名,用英文逗号隔开。
3.配置nginx反向代理
先在域名服务商完成域名解析到服务器IP,然后增加nginx反向代理配置。
配置示例代码如下:
server {
listen 80;
server_name 您的域名;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;
gzip_vary on;
gzip_disable "MSIE [1-6].";
location ~ .(txt)$ {
root html;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000;
}
}
请将域名改成自己的域名,然后重启nginx服务器,尝试在浏览器中用域名直接访问。
功能截图
聊天示例:
配置界面:
prompt角色管理: