# ChatGLM Web
![cover](./docs/chatglm.gif)
## 介绍
> 默认模型更改为ChatGLM2-6B
这是一个可以自己在本地部署的`ChatGLM`网页,使用`ChatGLM-6B`模型来实现接近`ChatGPT`的对话效果。
源代码Fork和修改于[Chanzhaoyu/chatgpt-web](https://github.com/Chanzhaoyu/chatgpt-web/) & [WenJing95/chatgpt-web](https://github.com/WenJing95/chatgpt-web/)& 开源模型[ChatGLM](https://github.com/THUDM/ChatGLM-6B)
与`ChatGPT`对比,`ChatGLM Web`有以下优势:
1. **独立部署**。`ChatGLM Web`只需要一个能运行`ChatGLM-6B`模型的服务器即可使用,可以使用自己微调的GLM模型。
2. **完全离线**。`ChatGLM Web`依赖于`ChatGLM-6B`模型,可以在离线环境或者内网中使用。
## 待实现路线
[✗] 支持chatglm、llama等模型
[✓] 追上原仓库的功能(权限控制、图片、消息导入导出、Prompt Store)
[✗] 支持langchain的知识问答
[✗] More...
## 快速部署
如果你不需要自己开发,只需要部署使用,可以直接跳到 ~~[使用最新版本docker镜像启动](#使用最新版本docker镜像启动)(待完善)~~
## 开发环境搭建
### Node
`node` 需要 `^16 || ^18` 版本(`node >= 14`
需要安装 [fetch polyfill](https://github.com/developit/unfetch#usage-as-a-polyfill)
),使用 [nvm](https://github.com/nvm-sh/nvm) 可管理本地多个 `node` 版本
```shell
node -v
```
### PNPM
如果你没有安装过 `pnpm`
```shell
npm install pnpm -g
```
### Python
`python` 需要 `3.8` 以上版本,进入文件夹 `/service` 运行以下命令
```shell
pip install --no-cache-dir -r requirements.txt
```
## 开发环境启动项目
### 后端服务
#### 硬件需求(参考自chatglm-6b官方仓库)
| **量化等级** | **最低 GPU 显存**(推理) | **最低 GPU 显存**(高效参数微调) |
| -------------- | ------------------------- | --------------------------------- |
| FP16(无量化) | 13 GB | 14 GB |
| INT8 | 8 GB | 9 GB |
| INT4 | 6 GB | 7 GB |
```shell
# 使用知识库功能需要在启动API前运行
python gen_data.py
# 进入文件夹 `/service` 运行以下命令
python main.py
```
还有以下可选参数可用:
- `device` 使用设备,cpu或者gpu
- `quantize` 量化等级。可选值:16,8,4,默认为16
- `host` HOST,默认值为 0.0.0.0
- `port` PORT,默认值为 3002
也就是说可以这样启动(这里修改端口的话前端也需要修改,建议使用默认端口)
```shell
python main.py --device='cuda:0' --quantize=16 --host='0.0.0.0' --port=3002
```
### 前端网页
根目录下运行以下命令
```shell
# 前端网页的默认端口号是3000,对接的后端服务的默认端口号是3002,可以在 .env 和 .vite.config.ts 文件中修改
pnpm bootstrap
pnpm dev
```
## 打包为docker容器
-- 待更新
## 常见问题
Q: 为什么 `Git` 提交总是报错?
A: 因为有提交信息验证,请遵循 [Commit 指南](./CONTRIBUTING.md)
Q: 如果只使用前端页面,在哪里改请求接口?
A: 根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 字段。
Q: 文件保存时全部爆红?
A: `vscode` 请安装项目推荐插件,或手动安装 `Eslint` 插件。
Q: 前端没有打字机效果?
A: 一种可能原因是经过 Nginx 反向代理,开启了 buffer,则 Nginx
会尝试从后端缓冲一定大小的数据再发送给浏览器。请尝试在反代参数后添加 `proxy_buffering off;`,然后重载 Nginx。其他 web
server 配置同理。
Q: build docker容器的时候,显示`exec entrypoint.sh: no such file or directory`?
A: 因为`entrypoint.sh`文件的换行符是`LF`,而不是`CRLF`,如果你用`CRLF`的IDE操作过这个文件,可能就会出错。可以使用`dos2unix`工具将`LF`换成`CRLF`。
## 参与贡献
贡献之前请先阅读 [贡献指南](./CONTRIBUTING.md)
感谢原作者[Chanzhaoyu](https://github.com/Chanzhaoyu/chatgpt-web/)和所有做过贡献的人,开源模型[ChatGLM](https://github.com/THUDM/ChatGLM-6B)
## 赞助
如果你觉得这个项目对你有帮助,请给我点个Star。
如果情况允许,请支持原作者[Chanzhaoyu](https://github.com/Chanzhaoyu/chatgpt-web/)
## License
MIT © [NCZkevin](./license)
没有合适的资源?快使用搜索试试~ 我知道了~
用 FastAPI 和 Vue3 搭建的 ChatGLM 网页 (前端样式仿照chatgpt-web, 支持多个图功能).zip
共119个文件
ts:46个
vue:23个
json:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 38 浏览量
2024-07-21
14:38:55
上传
评论
收藏 2.02MB ZIP 举报
温馨提示
用 FastAPI 和 Vue3 搭建的 ChatGLM 网页 (前端样式仿照chatgpt-web, 支持chatglm流式输出、前端调整参数、上下文选择、保存图片、知识库问答等功能) 【项目资源】:包含前端、后端、移动开发、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源,毕业设计等各种技术项目的源码。包括C++、Java、python、web、C#、EDA等项目的源码。 【适用人群】:适用于希望学习不同技术领域的初学者或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。 【项目质量】:所有源码都经过测试,可以直接运行。功能在确认正常工作后才上传。
资源推荐
资源详情
资源评论
收起资源包目录
用 FastAPI 和 Vue3 搭建的 ChatGLM 网页 (前端样式仿照chatgpt-web, 支持多个图功能).zip (119个子文件)
.eslintrc.cjs 58B
commit-msg 84B
nginx.conf 537B
tailwind.css 59B
Dockerfile 522B
Dockerfile 257B
.dockerignore 32B
.editorconfig 198B
.env 84B
chatglm.gif 1.65MB
.gitattributes 306B
.gitignore 447B
index.html 2KB
favicon.ico 41KB
tailwind.config.js 470B
postcss.config.js 82B
package.json 2KB
settings.json 1KB
tsconfig.json 589B
recommend.json 292B
extensions.json 65B
.commitlintrc.json 53B
github-markdown.less 25KB
highlight.less 2KB
style.less 879B
global.less 134B
license 1KB
README.md 4KB
CONTRIBUTING.md 2KB
readme.md 279B
CHANGELOG.md 9B
.npmrc 31B
index.png 301KB
pwa-512x512.png 34KB
pwa-192x192.png 7KB
pre-commit 69B
main.py 6KB
gen_data.py 984B
message_store.py 872B
knowledge.py 565B
errors.py 530B
entrypoint.sh 328B
start.sh 188B
404.svg 28KB
403.svg 19KB
favicon.svg 1KB
en-US.ts 6KB
index.ts 5KB
zh-CN.ts 5KB
ja-JP.ts 4KB
index.ts 2KB
index.ts 2KB
local.ts 1KB
index.ts 1KB
vite.config.ts 1KB
useScroll.ts 1KB
index.ts 1024B
index.ts 1001B
chat.d.ts 981B
useTheme.ts 942B
scrollbarStyle.ts 919B
helper.ts 893B
index.ts 884B
useCopyCode.ts 801B
useChat.ts 732B
helper.ts 720B
index.ts 718B
useIconRender.ts 650B
useUsingKnowledge.ts 601B
index.ts 590B
useLanguage.ts 586B
useUsingContext.ts 579B
axios.ts 541B
helper.ts 535B
index.ts 454B
assets.ts 447B
main.ts 434B
helper.ts 429B
index.ts 414B
proxy.ts 376B
index.ts 368B
global.d.ts 247B
useBasicLayout.ts 231B
index.ts 189B
env.d.ts 186B
index.ts 131B
index.ts 93B
index.ts 65B
index.ts 62B
index.ts 61B
index.ts 24B
index.ts 24B
test.txt 2KB
requirements.txt 258B
index.vue 24KB
index.vue 14KB
General.vue 5KB
Advance.vue 4KB
List.vue 4KB
index.vue 3KB
共 119 条
- 1
- 2
资源评论
- 热血赴杉海2024-07-31支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
白话Learning
- 粉丝: 4486
- 资源: 2901
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功