🌟自建chatgpt-web是一个非常实用的AI服务,它可以帮助我们完成很多任务,而且,OpenAI的收费也非常实惠,自用一个月也就一两美刀,真的不贵!💸
🤖需要注册一个账号,获取API的key,就可以开始使用了。而且,OpenAI还有很多实用的功能,比如可以分享给朋友用,保存聊天记录,出门在外也可以使用。这样就不用担心记录丢失,非常方便。👍
总结一下好处
1. 便宜
2. 保存记录
3. 出门在外随时能用
4. 分享朋友
5. 免代理👉(需要用上写的另外一篇免代理自建API的教程)
简单图文介绍
1. 对话界面
2. 模型界面
3. 统计界面
4. 登录界面
项目说明
1. 项目地址
Kerwin1202/chatgpt-web: 用 Express 和 Vue3 搭建的 ChatGPT 演示网页 (github.com)
2. 功能说明
此项目 Fork 自 Chanzhaoyu/chatgpt-web, 新增了部分特色功能:
[✓] 注册&登录&重置密码
[✓] 同步历史会话
[✓] 前端页面设置apikey
[✓] 自定义敏感词
[✓] 每个会话设置独有 Prompt
[✓] 用户管理
[✓] 多 Key 随机
部署教程
1. Docker build & Run
docker build -t chatgpt-web .
# 前台运行
docker run --name chatgpt-web --rm -it -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 后台运行
docker run --name chatgpt-web -d -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 运行地址
http://localhost:3002/
2. Docker compose
1. 官方
version: '3'
services:
app:
image: kerwin1202/chatgpt-web # 总是使用latest,更新时重新pull该tag镜像即可
container_name: chatgptweb
restart: unless-stopped
ports:
- 3002:3002
depends_on:
- database
environment:
TZ: Asia/Shanghai
# 二选一
OPENAI_API_KEY: sk-xxx
# 二选一
OPENAI_ACCESS_TOKEN: xxx
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL: xxx
# ChatGPTAPI ChatGPTUnofficialProxyAPI
OPENAI_API_MODEL: ChatGPTAPI
# 反向代理,可选
API_REVERSE_PROXY: xxx
# 每小时最大请求次数,可选,默认无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 600000
# 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
# 访问jwt加密参数,可选 不为空则允许登录 同时需要设置 MONGODB_URL
AUTH_SECRET_KEY: xxx
# 网站名称
SITE_TITLE: ChatGpt Web
# mongodb 的连接字符串
MONGODB_URL: 'mongodb://chatgpt:xxxx@database:27017'
# 网站是否开启注册
REGISTER_ENABLED: 'true'
# 开启注册之后 网站注册允许的邮箱后缀 如果空 则允许任意后缀
REGISTER_MAILS: '@qq.com,@sina.com,@163.com'
# 开启注册之后 密码加密的盐
PASSWORD_MD5_SALT: xxx
# 开启注册之后 超级管理邮箱
ROOT_USER: me@example.com
# 开启注册之后 网站域名 不含 / 注册的时候发送验证邮箱使用
SITE_DOMAIN: http://127.0.0.1:3002
# 开启注册之后 发送验证邮箱配置
SMTP_HOST: smtp.exmail.qq.com
SMTP_PORT: 465
SMTP_TSL: 'true'
SMTP_USERNAME: noreply@examile.com
SMTP_PASSWORD: xxx
# 是否开启敏感词审核, 因为响应结果是流式 所以暂时没审核
AUDIT_ENABLED: 'false'
# https://ai.baidu.com/ai-doc/ANTIPORN/Vk3h6xaga
AUDIT_PROVIDER: baidu
AUDIT_API_KEY: xxx
AUDIT_API_SECRET: xxx
AUDIT_TEXT_LABEL: xxx
links:
- database
database:
image: mongo
container_name: chatgptweb-database
restart: unless-stopped
ports:
- '27017:27017'
expose:
- '27017'
volumes:
- mongodb:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: chatgpt
MONGO_INITDB_ROOT_PASSWORD: xxxx
MONGO_INITDB_DATABASE: chatgpt
volumes:
mongodb: {}
2. 自用部署模版
version: '3'
services:
app:
image: kerwin1202/chatgpt-web # 总是使用latest,更新时重新pull该tag镜像即可
container_name: chatgptweb
restart: unless-stopped
ports:
- 3002:3002 #端口
depends_on:
- database
environment:
TZ: Asia/Shanghai
# 二选一
OPENAI_API_KEY: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 二选一
OPENAI_ACCESS_TOKEN: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1UaEVOVUpHTkVNMVFURTRNMEZCTWpkQ05UZzVNRFUxUlRVd1FVSkRNRU13UmtGRVFrRXpSZyJ9.eyJodHRwczovL2FwaS5vcGVuYWkuY29tL3Byb2ZpbGUiOnsiZW1haWwiOiJoZW1wbGVkYW1oQGhvdG1haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWV9LCJodHRwczovL2FwaS5vcGVuYWkuY29tL2F1dGgiOnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxpbGUgZW1haWwgbW9kZWwucmVhZCBtb2RlbC5yZXF1ZXN0IG9yZ2FuaXphdGlvbi5yZWFkIG9yZ2FuaXphdGlvbi53cml0ZSJ9.ucc7XHaqMO4HUvsrID9jsGIhMDxzgTaChytOw_Y57avgvok8hr6bVSpU1DF1bv-ikmI3semWmg6z9pxT3AHd69nCFNK1IvF2myIAGw-GZoVYJaIu3vCNM #Token 建议用api模式 Token需要用上反代服务器
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL: https://api.xxxxx.xyz #自建API接口 cloudflare搭建就行
# ChatGPTAPI(API用) ChatGPTUnofficial(网页用) ProxyAPI
OPENAI_API_MODEL: ChatGPTAPI
# API模型,可选,设置 OPENAI_API_KEY 时可用,https://platform.openai.com/docs/models
# gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301, text-davinci-003, text-davinci-002, code-davinci-002
OPENAI_CHAT_MODEL: gpt-3.5-turbo-0301
# 反向代理,可选
API_REVERSE_PROXY: http://10.0.0.88:3080/chatgpt/conversation #用Token时使用
# 每小时最大请求次数,可选,默认无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 600000
# Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
SOCKS_PROXY_HOST:
# Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
SOCKS_PROXY_PORT:
# HTTPS 代理,可选,支持 http,https,socks5
HTTPS_PROXY:
# 访问jwt加密参数,可选 不为空则允许登录 同时需要设置 MONGODB_URL
AUTH_SECRET_KEY: 8hr83dh8399ey2rj3
# 网站名称
SITE_TITLE: 智障AI
# mongodb 的连接字符串
MONGODB_URL: 'mongodb://用户名:密码@database:27017'
# 网站是否开启注册
REGISTER_ENABLED: 'true'
# 开启注册之后 网站注册允许的邮箱后缀 如果空 则允许任意后缀
REGISTER_MAILS: '@qq.com,@sina.com,@163.com,@gmail.com'
# 开启注册之后 密码加密的盐
PASSWORD_MD5_SALT: 2$kJq0ndA7Vjd9023jk6Nma7QHkq3uN
# 开启注册之后 超级管理邮箱
ROOT_USER: xxxxxxx@gmail.com
# 开启注册之后 网站域名 不含 / 注册的时候发送验证邮箱使用
SITE_DOMAIN: https://ai.xxxxxx.net
# 开启注册之后 发送验证邮箱配置
SMTP_HOST: smtp.gmail.com
SMTP_PORT: 465
SMTP_TSL: 'true'
SMTP_USERNAME: xxxxxxx@gmail.com
SMTP_PASSWORD: xxxxxxx #邮箱的授权码
AUDIT_ENABLED: 'false'
AUDIT_PROVIDER: baidu
AUDIT_API_KEY: xxx
AUDIT_API_SECRET: xxx
AUDIT_TEXT_LABEL: xxx
links:
- database
database:
image: mongo
container_name: chatgptweb-database
restart: unless-stopped
ports:
- '27017:27017'
expose:
- '27017'
volumes:
- /volume1/docker/ai/chatgpt-web-db/mongodb:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: 用户名
MONGO_INITDB_ROOT_PASSWORD: 密码
MONGO_INITDB_DATABASE: chatgpt
gui:
image: mongo-express:1.0.0-alpha
restart: unless-stopped
ports:
- "1005:8081"
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: ambiance
ME_CONFIG_BASICAUTH_USERNAME: 用户名
ME_CONFIG_BASICAUTH_PASSWORD: 密码
ME_CONFIG_MONGODB_URL: 'mongodb://用户名:密码@database:27017'
ME_CONFIG_MONGODB_ENABLE_ADMIN: true # 可能不是必要的
ME_CONFIG_MONGODB_ADMINUSERNAME: user01 # 可能不是必要的
ME_CONFIG_MONGODB_ADMINPASSWORD: password01 # 可能不是必要的
go-chatgpt-api: #Token模式的时候需要用上反代,API可以不需要
container_name: go-chatgpt-api
image: linweiyuan/go-chatgpt-api:latest
ports:
- 3080:8080
environment:
- GO_CHATGPT_API_PROXY=http://10.0.0.10:1080 #这一段表示你的局域网http代理地址可以openwrt安装openclash来搭建http代理地址
restart: unless-stopped
最后说明
最后的dockercompose看似复杂,其实你可以分成几个部分
1. chatgpt-web本体
2. data数据存储
3. Gui为数据库的ui,可以管理数据库
4. go-chatgpt-api为Token模式的反代文章来源:https://www.toymoban.com/news/detail-537723.html
如果你只有api模式的话可以去掉token模式的反代,可以进一步精简文章来源地址https://www.toymoban.com/news/detail-537723.html
version: '3'
services:
app:
image: kerwin1202/chatgpt-web # 总是使用latest,更新时重新pull该tag镜像即可
container_name: chatgptweb
restart: unless-stopped
ports:
- 3002:3002 #端口
depends_on:
- database
environment:
TZ: Asia/Shanghai
OPENAI_API_KEY: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL: https://api.xxxxx.xyz #自建API接口 cloudflare搭建就行
OPENAI_API_MODEL: ChatGPTAPI
OPENAI_CHAT_MODEL: gpt-3.5-turbo-0301
# 每小时最大请求次数,可选,默认无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 600000
# Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
SOCKS_PROXY_HOST:
# Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
SOCKS_PROXY_PORT:
# HTTPS 代理,可选,支持 http,https,socks5
HTTPS_PROXY:
# 访问jwt加密参数,可选 不为空则允许登录 同时需要设置 MONGODB_URL
AUTH_SECRET_KEY: 8hr83dh8399ey2rj3
# 网站名称
SITE_TITLE: 智障AI
# mongodb 的连接字符串
MONGODB_URL: 'mongodb://用户名:密码@database:27017'
# 网站是否开启注册
REGISTER_ENABLED: 'true'
# 开启注册之后 网站注册允许的邮箱后缀 如果空 则允许任意后缀
REGISTER_MAILS: '@qq.com,@sina.com,@163.com,@gmail.com'
# 开启注册之后 密码加密的盐
PASSWORD_MD5_SALT: 2$kJq0ndA7Vjd9023jk6Nma7QHkq3uN
# 开启注册之后 超级管理邮箱
ROOT_USER: xxxxxxx@gmail.com
# 开启注册之后 网站域名 不含 / 注册的时候发送验证邮箱使用
SITE_DOMAIN: https://ai.xxxxxx.net
# 开启注册之后 发送验证邮箱配置
SMTP_HOST: smtp.gmail.com
SMTP_PORT: 465
SMTP_TSL: 'true'
SMTP_USERNAME: xxxxxxx@gmail.com
SMTP_PASSWORD: xxxxxxx #邮箱的授权码
AUDIT_ENABLED: 'false'
AUDIT_PROVIDER: baidu
AUDIT_API_KEY: xxx
AUDIT_API_SECRET: xxx
AUDIT_TEXT_LABEL: xxx
links:
- database
database:
image: mongo
container_name: chatgptweb-database
restart: unless-stopped
ports:
- '27017:27017'
expose:
- '27017'
volumes:
- /volume1/docker/ai/chatgpt-web-db/mongodb:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: 用户名
MONGO_INITDB_ROOT_PASSWORD: 密码
MONGO_INITDB_DATABASE: chatgpt
gui:
image: mongo-express:1.0.0-alpha
restart: unless-stopped
ports:
- "1005:8081"
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: ambiance
ME_CONFIG_BASICAUTH_USERNAME: 用户名
ME_CONFIG_BASICAUTH_PASSWORD: 密码
ME_CONFIG_MONGODB_URL: 'mongodb://用户名:密码@database:27017'
ME_CONFIG_MONGODB_ENABLE_ADMIN: true # 可能不是必要的
ME_CONFIG_MONGODB_ADMINUSERNAME: user01 # 可能不是必要的
ME_CONFIG_MONGODB_ADMINPASSWORD: password01 # 可能不是必要的
到了这里,关于利用群晖部署ChatGPT-web服务,不需要代理,直接起飞,搭建你的私人AI助理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!