Skip to content

NeverMin/chatgpt-web-public

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatGPT-WEB

本项目为chatgpt私有化部署,基于fastapi vue3 chatgpt api实现。

快速开始

1. docker 部署

作者已经将chatgpt打包成镜像,可以直接使用docker部署。

docker run --name chatgpt -d -p 8020:8020 -e API_KEY=sk-xxxx wangbog/chatgpt-web:latest

在armbian上运行:首先安装tonistiigi/binfmt,它其实是个模拟器,可以支持在aarch64/arm64架构的平台上运行amd64或其他架构的docker image,rm参数代表运行完就清理掉环境(它其实是向宿主机安装了相关的依赖)。然后再运行我们的docker image就可以了,运行时指定了platform为amd64,也就是用模拟器运行amd64的docker image。

docker run --privileged --rm tonistiigi/binfmt --install amd64
docker run --platform linux/amd64 --name chatgpt -d -p 8020:8020 -e API_KEY=sk-xxxx wangbog/chatgpt-web:latest

OpenAI的API有可能需要代理才能访问,那就把代理作为环境变量也传进来:

docker run --platform linux/amd64 --name chatgpt -d -p 8020:8020 -e API_KEY=sk-xxxx -e https_proxy=http://127.0.0.1:7890 -e http_proxy=http://127.0.0.1:7890 -e all_proxy=socks5://127.0.0.1:7890 wangbog/chatgpt-web:latest

2. 本地部署

  • 拉取项目,安装依赖
cd web
pnpm install
pnpm run build
cp -r web/dist api/dist
cd api
pip install -r requirements.txt
  • 启动项目
# 启动前端
cd web
pnpm run dev
# 启动后端
cd api
python app.py

答疑

  • 为什么需要API_KEY

API_KEYchatgpt的API密钥,通过API_KEY方可调用官方接口,您可以在chatgpt官网申请。API_KEY通常是sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这种形式。

  • 我想修改项目中版权信息,如何修改?

如果你不懂前端,你可以直接fork项目,替换前端字符串然后提交自己仓库,然后会自动docker构建。但是有个前提,你需要在github actions中配置DOCKER_USERNAMEDOCKER_PASSWORD,这两个变量是你的docker账号和密码。

  • 为什么要内置后端?

前端其实可以直接通过axios请求chatgpt官方接口,但是为了数据安全,如果前端调用那就会暴露自己的API_KEY,所以笔者将前端和后端分离,前端只负责展示,后端负责调用chatgpt官方接口。

Releases

No releases published

Packages

No packages published

Languages

  • Vue 40.0%
  • Python 37.2%
  • TypeScript 16.1%
  • CSS 3.1%
  • Dockerfile 1.8%
  • HTML 1.5%
  • Shell 0.3%