chatgpt-web/README.md

169 lines
3.5 KiB
Markdown
Raw Normal View History

2023-02-13 08:07:34 -05:00
# ChatGPT Web
2023-02-13 06:30:26 -05:00
2023-02-11 21:34:51 -05:00
使用 express 和 vue3 搭建的 ChartGPT 演示网页
2023-02-09 02:48:27 -05:00
![cover](./docs/cover.png)
![cover2](./docs/cover2.png)
2023-02-09 02:48:27 -05:00
2023-02-13 08:07:34 -05:00
> 提示:目前 `OpenAI` 开放的模型最高只有 `GPT-3`,和现在网页所使用的 `GPT-3.5` 或 `GPT-4` 有很大差距,需要等官方开放最新的模型接口。
2023-02-13 06:09:34 -05:00
## 待实现路线
2023-02-15 02:53:53 -05:00
[✓] 多会话储存和上下文逻辑
2023-02-11 21:34:51 -05:00
2023-02-15 02:53:53 -05:00
[✓] 对代码等消息类型的格式化美化处理
2023-02-13 03:29:51 -05:00
2023-02-15 02:53:53 -05:00
[✗] 界面多语言
2023-02-13 06:09:34 -05:00
2023-02-15 02:53:53 -05:00
[✗] 界面主题
2023-02-13 03:29:51 -05:00
2023-02-15 02:53:53 -05:00
[✗] More...
2023-02-13 03:29:51 -05:00
## 前置要求
### Node
2023-02-15 22:15:00 -05:00
`node` 需要 `^16 || ^18` 版本(或者 `node >= 14` 需要安装 [fetch polyfill](https://github.com/developit/unfetch#usage-as-a-polyfill)),使用 [nvm](https://github.com/nvm-sh/nvm) 可管理本地多个 `node` 版本
2023-02-13 03:29:51 -05:00
```shell
node -v
```
### PNPM
2023-02-11 21:34:51 -05:00
如果你没有安装过 `pnpm`
2023-02-09 03:48:21 -05:00
```shell
npm install pnpm -g
```
2023-02-13 05:21:26 -05:00
### OpenAI API Key
2023-02-15 22:15:00 -05:00
注册并获取 [OpenAI API key](https://platform.openai.com/overview) 并填写到本地环境变量
2023-02-13 03:29:51 -05:00
```
# service/.env 文件
OPENAI_API_KEY='Your key'
```
## 安装依赖
> 为了简便 `后端开发人员` 的了解负担,所以并没有采用前端 `workspace` 模式,而是分文件夹存放。如果只需要前端页面做二次开发,删除 `service` 文件夹即可。
### 后端服务
进入文件夹 `/service` 运行以下命令
2023-02-09 02:57:39 -05:00
```shell
pnpm install
```
2023-02-13 03:29:51 -05:00
### 网页
根目录下运行以下命令
```shell
pnpm bootstrap
2023-02-09 02:57:39 -05:00
```
2023-02-13 03:29:51 -05:00
## 运行
### 后端服务
进入文件夹 `/service` 运行以下命令
```shell
pnpm start
2023-02-09 02:57:39 -05:00
```
2023-02-13 03:29:51 -05:00
### 网页
根目录下运行以下命令
2023-02-09 02:48:27 -05:00
```shell
2023-02-13 03:29:51 -05:00
pnpm dev
2023-02-09 02:57:39 -05:00
```
2023-02-09 02:48:27 -05:00
2023-02-13 03:29:51 -05:00
## 打包
### 使用 Docker
### Docker build & Run
2023-02-16 00:42:19 -05:00
```bash
docker build -t chatgpt-web .
# 前台运行
docker run --name chatgpt-web --rm -it -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 后台运行
docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 运行地址
http://localhost:3002/
```
### Docker compose
2023-02-16 08:03:12 -05:00
[Hub 地址](https://hub.docker.com/repository/docker/chenzhaoyu94/chatgpt-web/general)
```yml
version: '3'
services:
app:
image: chenzhaoyu94/chatgpt-web:main
ports:
- 3002:3002
environment:
OPENAI_API_KEY: xxxxxx
```
## 手动打包
2023-02-17 20:59:39 -05:00
### 后端服务
> 如果你不需要本项目的 `node` 接口,可以省略如下操作
复制 `service` 文件夹到你有 `node` 服务环境的服务器上。
2023-02-17 20:59:39 -05:00
```shell
# 安装
pnpm install
# 打包
pnpm build
# 运行
pnpm prod
```
PS: 不进行打包,直接在服务器上运行 `pnpm start` 也可
### 前端打包
2023-02-16 00:42:19 -05:00
1、修改根目录下 `.env``VITE_APP_API_BASE_URL` 为你的实际后端接口地址
2、根目录下运行以下命令然后将 `dist` 文件夹内的文件复制到你网站服务的根目录下
2023-02-13 03:29:51 -05:00
2023-02-16 00:42:19 -05:00
[参考信息](https://cn.vitejs.dev/guide/static-deploy.html#building-the-app)
2023-02-09 02:57:39 -05:00
```shell
2023-02-13 03:29:51 -05:00
pnpm build
2023-02-09 02:48:27 -05:00
```
2023-02-13 03:29:51 -05:00
### 常见问题
2023-02-13 06:09:34 -05:00
Q: 为什么 `Git` 提交总是报错?
A: 因为有提交信息验证,请遵循 [Commit 指南](./CONTRIBUTING.md)
2023-02-13 03:29:51 -05:00
Q: 如果只使用前端页面,在哪里改请求接口?
A: 根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 字段。
2023-02-13 03:32:28 -05:00
Q: 文件保存时全部爆红?
2023-02-13 03:29:51 -05:00
2023-02-13 03:32:28 -05:00
A: `vscode` 请安装项目推荐插件,或手动安装 `Eslint` 插件。
2023-02-13 03:29:51 -05:00
2023-02-16 01:17:03 -05:00
## 参与贡献
贡献之前请先阅读 [贡献指南](./CONTRIBUTING.md)
感谢所有做过贡献的人!
<a href="https://github.com/Chanzhaoyu/chatgpt-web/graphs/contributors">
<img src="https://contrib.rocks/image?repo=Chanzhaoyu/chatgpt-web" />
</a>
2023-02-09 02:48:27 -05:00
## License
MIT © [ChenZhaoYu](./license)