/chatgpt-webapp-fullstack

A fullstack chat webapp based on ChatGPT/BingAI/AndMore...

Primary LanguageJavaScriptMIT LicenseMIT

FullStack-ChatGPT-WebApp

GitHub license GitHub package.json dependency version (prod) GitHub package.json dependency version (prod)

这是一个 ChatGPT 聊天应用,包含网页端App和一个Node服务,可快速部署一套自用的完整智能聊天服务(点击体验

经过线上检验完全可以成为学习、工作和生活中的小帮手,适合感兴趣的同学自用。

后台目前接入的服务默认是ChatGPT,也同时兼容BingAI或者其他国内模型,只需Node服务配置下环境变量即可。

demo-720-3.mov

项目体验

在微信中打开 DEMO 或扫码

demo qr

项目结构说明

├── client
├── node-api
├── Dockerfile
├── README.md
├── assets
├── LICENSE
  • client:前端代码,一个独立的 React 项目
  • node-api:服务端代码,nodejs 启动的 server,整合前端数据和对话上下文,调用 ChatGPT 的API
  • README.md:项目文档
  • Dockerfile:容器配置文件
  • assets:静态资源目录
  • LICENSE:LICENSE 说明

服务端项目fork自 upstream 项目,该项目最开始用做调用OpenAI内部训练的免费模型,不过稳定性不好,维护成本较高,目前不推荐了。 也保留了该项目的README文件用做参考或者直接去原项目查看详情。

快速开始

启动服务端

服务端代码在 node-api 目录中,是个标准的 nodejs 项目

进入目录中,先安装依赖:

npm install

启动项目

npm run start

注意:项目启动时唯一需要配置的是 OpenAI 账户的 ApiKey,可以通过命令行中直接配置环境变量 OPENAI_API_KEY,在生成环境,建议通过 settings.js 来配置。

另外,如需同时配置多个ApiKey,只需要将多个key中间用 "," 隔开即可,注意中英文切换,例如

OPENAI_API_KEY=sk-Ek6f5n*q7X*8I2mgH****T***F**I97ON**y*BzUpc,sk-Ek6f5n*q7X*8I2mgH****T***F**I97ON**y*BzUpc,sk-Ek6f5n*q7X*8I2mgH****T***F**I97ON**y*BzUpc

settings.js

项目启动

启动前端页面

前端页面代码在目录 client 中,是个简单的CRA项目

进入目录中,先安装依赖:

npm install

然后,启动项目

npm run start

即可开始愉快地聊天啦~

更多功能

更多功能正在开发中,如有需要可以私聊,或者贡献PR

  • 预设常用场景的prompt
  • 用户登录
  • 流量控制
  • 前端聊天界面 Prompt 预设选项
  • 微信分享
  • 其他

私有部署

如有部署方面的问题,可关注公众号 webinfra 需求帮助

或加交流群

License

MIT