适用于团队的聊天Web应用程序,具有用户管理和速率限制的SAS,支持OpenAI,Claude或自定义模型
演示
规则
- 第一个消息是系统消息(prompt)
- 上下文默认附带最新创建的10条消息
- 第一个注册的用户是管理员
- 默认限流 100 chatGPT call /10分钟 (OPENAI_RATELIMIT=100)
- 根据对话生成可以分享的静态页面(like ShareGPT), 也可以继续会话.
- 支持OPEN AI, Claude 模型 免费申请链接
参与开发
- git clone
- golang dev
cd chat; cd api
go mod tidy
# export env var, change base on your env
export PG_HOST=192.168.0.135
export PG_DB=hwu
export PG_USER=hwu
export PG_PASS=pass
export PG_PORT=5432
# export DATABASE_URL= postgres://user:pass@192.168.0.1:5432/db?sslmode=disable
# export OPENAI_API_KEY=sk-xxx, not required if you use `debug` model
# export OPENAI_RATELIMIT=100
#
make serve
- 节点环境
cd ..; cd web
npm install
npm run dev
- E2E 测试
cd ..; cd e2e
# export env var, change base on your env
export PG_HOST=192.168.0.135
export PG_DB=hwu
export PG_USER=hwu
export PG_PASS=pass
export PG_PORT=5432
npm install
npx playwright test # --ui
该指令可能不准确,如果不清楚,请提出问题或争论。
如何部署
参考docker-compose.yaml
然后配置环境变量就可以了.
PORT=8080
OPENAI_RATELIMIT=0
别的两个 API Key 有就填.
部署之后, 注册用户, 第一个用户是管理员, 然后到 https://$hostname/static/#/admin/user, 设置 ratelimit, 公网部署, 只对信任的email 增加 ratelimit, 这样即使有人注册, 也是不能用的.
致谢
- web: ChatGPT-Web 复制过来的 。
- API : 参考 Kerwin1202’s Chanzhaoyu/chatgpt-web#589 的node版本在chatgpt帮助下写的
执照:麻省理工学院
如何使用
- 第一条消息是系统消息(提示)
- 默认情况下,最新的 10 条消息是上下文
- 第一个用户是超级用户。
- 100 次聊天 API 调用 / 10 分钟 (OPENAI_RATELIMIT=100)
- 快照对话和共享(如 ShareGPT)
- 支持开放AI,克劳德模型免费应用链接
如何部署
指docker-compose.yaml
然后配置环境变量。
PORT=8080
OPENAI_RATELIMIT=0
如果有,请填写其他两个键。
部署后,注册用户,第一个用户是管理员,然后转到 https://$hostname/static/#/admin/user 设置速率限制。公共部署, 仅对受信任的电子邮件添加速率限制,因此即使有人注册,它也不可用。
这有助于确保只有授权用户才能访问已部署的系统,方法是将注册限制为受信任的电子邮件并启用速率限制控制。
确认
- 网站:复制自chatgpt-web https://github.com/Chanzhaoyu/chatgpt-web
- api:基于 Kerwin1202 的 Chanzhaoyu/chatgpt-web#589 的节点版本,在 chatgpt 的帮助下编写。
© 版权声明
文章版权归作者所有,未经允许请勿转载。