文章已同步至【个人博客】,欢迎拜访【我的主页】
文章地址:blog.fanjunyang.zone/archives/ai…
之前写过一篇【怎么布置一个归于自己的ChatGPT网站?】,可是这个项目目前只支撑 api key 的办法进行拜访运用,
还有一篇【怎么丝滑的运用ChatGPT?不必API,完全免费,无网络约束,无需绑卡充值,官网原生体验】,可是这个项目目前只支撑 token 的办法拜访运用。
最近发现了一个项目 【ChatGPT Web】,支撑双模型,提供了两种非官方 ChatGPT API 办法,用起来挺不错的,所以介绍给我们。
办法 | 免费? | 牢靠性 | 质量 |
---|---|---|---|
ChatGPTAPI(gpt-3.5-turbo-0301) |
否 | 牢靠 | 相对较笨 |
ChatGPTUnofficialProxyAPI(网页 accessToken) |
是 | 相对不牢靠 | 聪明 |
比照:
-
ChatGPTAPI
运用gpt-3.5-turbo
通过OpenAI
官方API
调用ChatGPT
-
ChatGPTUnofficialProxyAPI
运用非官方署理服务器拜访ChatGPT
的后端API
,绕过Cloudflare
(依赖于第三方服务器,并且有速率约束)
警告:
- 你应该首要运用
API
办法 - 运用
API
时,假如网络不通,那是国内被墙了,你需求自建署理,肯定不要运用别人的揭露署理,那是危险的。 - 运用
accessToken
办法时反向署理将向第三方暴露您的拜访令牌,这样做应该不会发生任何不良影响,但在运用这种办法之前请考虑危险。 - 运用
accessToken
时,不管你是国内仍是国外的机器,都会运用署理。默许署理为 pengzhile 大佬的https://ai.fakeopen.com/api/conversation
,这不是后门也不是监听,除非你有才能自己翻过CF
验证,用前请知悉。社区署理(留意:只要这两个是引荐,其他第三方来历,请自行甄别) - 把项目发布到公共网络时,你应该设置
AUTH_SECRET_KEY
变量添加你的暗码拜访权限,你也应该修正index.html
中的title
,避免被关键词搜索到。
切换办法:
- 进入
service/.env.example
文件,复制内容到service/.env
文件 - 运用
OpenAI API Key
请填写OPENAI_API_KEY
字段 (获取 apiKey) - 运用
Web API
请填写OPENAI_ACCESS_TOKEN
字段 (获取 accessToken) - 一同存在时以
OpenAI API Key
优先
相关链接
- github链接: github.com/Chanzhaoyu/…
- docker、docker-compose装置:blog.fanjunyang.zone/archives/de…
- Nginx Proxy Manager装置运用:blog.fanjunyang.zone/archives/ng…
项目展现&功用
[✓] 双模型
[✓] 多会话储存和上下文逻辑
[✓] 对代码等消息类型的格式化美化处理
[✓] 拜访权限控制
[✓] 数据导入、导出
[✓] 保存消息到本地图片
[✓] 界面多语言
[✓] 界面主题
[✗] More…
建立办法
运用 Railway 布置
【Deploy on Railway】
Railway 环境变量
环境变量称号 | 必填 | 补白 |
---|---|---|
PORT |
必填 | 默许 3002
|
AUTH_SECRET_KEY |
可选 | 拜访权限密钥 |
MAX_REQUEST_PER_HOUR |
可选 | 每小时最大恳求次数,可选,默许无限 |
TIMEOUT_MS |
可选 | 超时时间,单位毫秒 |
OPENAI_API_KEY |
OpenAI API 二选一 |
运用 OpenAI API 所需的 apiKey (获取 apiKey)
|
OPENAI_ACCESS_TOKEN |
Web API 二选一 |
运用 Web API 所需的 accessToken (获取 accessToken)
|
OPENAI_API_BASE_URL |
可选,OpenAI API 时可用 |
API 接口地址 |
OPENAI_API_MODEL |
可选,OpenAI API 时可用 |
API 模型 |
API_REVERSE_PROXY |
可选,Web API 时可用 |
Web API 反向署理地址 概况
|
SOCKS_PROXY_HOST |
可选,和 SOCKS_PROXY_PORT 一同时收效 |
Socks署理 |
SOCKS_PROXY_PORT |
可选,和 SOCKS_PROXY_HOST 一同时收效 |
Socks署理端口 |
SOCKS_PROXY_USERNAME |
可选,和 SOCKS_PROXY_HOST 一同时收效 |
Socks署理用户名 |
SOCKS_PROXY_PASSWORD |
可选,和 SOCKS_PROXY_HOST 一同时收效 |
Socks署理暗码 |
HTTPS_PROXY |
可选 | HTTPS 署理,支撑 http,https, socks5 |
ALL_PROXY |
可选 | 所有署理 署理,支撑 http,https, socks5 |
留意:
Railway
修正环境变量会重新Deploy
Docker办法建立
环境预备
- 域名、服务器购买
- 服务器环境建立,需求系统装置docker、docker-compose、Nginx反向署理或许其他反向署理东西等,参阅文章最初的【相关链接】
创立相关目录
我自己放在服务器中 /root/docker_data/chatgpt_web
文件夹下面
mkdir -p /root/docker_data/chatgpt_web
cd /root/docker_data/chatgpt_web
创立yml文件
在/root/docker_data/chatgpt_web
文件夹下面新建docker-compose.yml
文件如下:
version: '3'
services:
chatgpt-web:
image: chenzhaoyu94/chatgpt-web # 总是运用 latest ,更新时重新 pull 该 tag 镜像即可
ports:
- 3002:3002
environment:
# 二选一
OPENAI_API_KEY: sk-xxx
# 二选一
OPENAI_ACCESS_TOKEN: xxx
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL: xxx
# API模型,可选,设置 OPENAI_API_KEY 时可用,https://platform.openai.com/docs/models
# gpt-4, gpt-4-0314, gpt-4-0613, gpt-4-32k, gpt-4-32k-0314, gpt-4-32k-0613, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo, gpt-3.5-turbo-0301, gpt-3.5-turbo-0613, text-davinci-003, text-davinci-002, code-davinci-002
OPENAI_API_MODEL: xxx
# 反向署理,可选
API_REVERSE_PROXY: xxx
# 拜访权限密钥,可选
AUTH_SECRET_KEY: xxx
# 每小时最大恳求次数,可选,默许无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 60000
# Socks署理,可选,和 SOCKS_PROXY_PORT 一同时收效
SOCKS_PROXY_HOST: xxx
# Socks署理端口,可选,和 SOCKS_PROXY_HOST 一同时收效
SOCKS_PROXY_PORT: xxx
# HTTPS 署理,可选,支撑 http,https,socks5
HTTPS_PROXY: http://xxx:7890
环境变量
API
可用:
-
OPENAI_API_KEY
和OPENAI_ACCESS_TOKEN
二选一 -
OPENAI_API_MODEL
设置模型,可选,默许:gpt-3.5-turbo
-
OPENAI_API_BASE_URL
设置接口地址,可选,默许:https://api.openai.com
-
OPENAI_API_DISABLE_DEBUG
设置接口关闭 debug 日志,可选,默许:empty 不关闭
ACCESS_TOKEN
可用:
-
OPENAI_ACCESS_TOKEN
和OPENAI_API_KEY
二选一,一同存在时,OPENAI_API_KEY
优先 -
API_REVERSE_PROXY
设置反向署理,可选,默许:https://ai.fakeopen.com/api/conversation
,社区(留意:只要这两个是引荐,其他第三方来历,请自行甄别)
通用:
-
AUTH_SECRET_KEY
拜访权限密钥,可选 -
MAX_REQUEST_PER_HOUR
每小时最大恳求次数,可选,默许无限 -
TIMEOUT_MS
超时,单位毫秒,可选 -
SOCKS_PROXY_HOST
和SOCKS_PROXY_PORT
一同时收效,可选 -
SOCKS_PROXY_PORT
和SOCKS_PROXY_HOST
一同时收效,可选 -
HTTPS_PROXY
支撑http
,https
,socks5
,可选 -
ALL_PROXY
支撑http
,https
,socks5
,可选
运转yml文件
进入/root/docker_data/chatgpt_web
文件夹下面,运转指令:docker-compose up -d
或许在任意文件夹下面,运转指令:docker-compose -f /root/docker_data/chatgpt_web/docker-compose.yml up -d
然后服务就跑起来了
拜访运用
运用 IP + PORT 办法拜访看下是否成功(假如有防火墙和安全组的话,需求放通对应的端口)
或许能够配置反向署理运用域名拜访,参阅教程:blog.fanjunyang.zone/archives/ng…
更改源码
假如你想要根据原项目修正,你能够直接把代码拉到你本地开发,开发完毕后推到你的服务器,然后 build
一个镜像,用你自己的镜像即可(项目中有Dockerfile
文件,能够直接build
)
开发的时候留意你的本地环境,需求运用大于16的Node版别,装置PNPM等,详细参阅原项目中的README.md
文件。