https://github.com/Chanzhaoyu/chatgpt-web
docker-compose.yaml
version: '3' services: app: image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可 ports: - 10.0.0.250:3232:3002 environment: # 二选一 OPENAI_API_KEY: sk-xxxxxx # 二选一 OPENAI_ACCESS_TOKEN: eyJhbGciOiJSUzI1mF0aW9uLnJlYWQgb3JnYW5pemF0aW9uLndyaXRlIG9mZmxpbmVfYWNjZXNzIn0.J1NYnoUtvP5U-QNwnLtZVKSDuM-WqQxIsNfxU4IvPg # API接口地址,可选,设置 OPENAI_API_KEY 时可用 OPENAI_API_BASE_URL: # 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: gpt-3.5-turbo # 反向代理,可选 API_REVERSE_PROXY: # 访问权限密钥,可选 AUTH_SECRET_KEY: xxxxxx # 每小时最大请求次数,可选,默认无限 MAX_REQUEST_PER_HOUR: 0 # 超时,单位毫秒,可选 TIMEOUT_MS: 60000 # Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效 SOCKS_PROXY_HOST: # Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效 SOCKS_PROXY_PORT: # HTTPS 代理,可选,支持 http,https,socks5 HTTPS_PROXY:
支持双模型,提供了两种非官方 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
优先
标签:turbo,git,OPENAI,代理,API,3.5,gpt,chatGPT3.5,搭建 From: https://www.cnblogs.com/websec80/p/17622663.html