Skip to content

Commit 8c0a569

Browse files
authored
Merge pull request #47 from apconw/dev
update read me
2 parents b40c04e + a48db2b commit 8c0a569

File tree

4 files changed

+558
-239
lines changed

4 files changed

+558
-239
lines changed

README-zh.md

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# 大模型数据助手
2+
3+
🌟 **项目简介**
4+
5+
一个轻量级、支持全链路且易于二次开发的大模型应用项目
6+
7+
**已适配DeepSeek/Qwen2.5等大模型**
8+
9+
基于 Dify 、Ollama&Vllm、Sanic 和 Text2SQL 📊 等技术构建的一站式大模型应用开发项目,采用 Vue3、TypeScript 和 Vite 5 打造现代UI。它支持通过 ECharts 📈 实现基于大模型的数据图形化问答,具备处理 CSV 文件 📂 表格问答的能力。同时,能方便对接第三方开源 RAG 系统 检索系统 🌐等,以支持广泛的通用知识问答。
10+
11+
作为轻量级的大模型应用开发项目,Sanic-Web 🛠️ 支持快速迭代与扩展,助力大模型项目快速落地。🚀
12+
13+
## 架构方案
14+
![image](./images/app-01.png)
15+
16+
## 🎉 **特性**
17+
- **核心技术栈**:Dify + Ollama + RAG + (Qwen2.5/DeepSeek) + Text2SQL
18+
- **UI 框架**:Vue 3 + TypeScript + Vite 5
19+
- **数据问答**:集成 ECharts大模型实现Text2SQL轻量级的图形化数据问答展示
20+
- **表格问答**:支持 CSV格式文件的上传与基于大模型总结预处理和Text2SQL的表格数据问答
21+
- **通用问答**:支持通用数据形式问答基于对接三方RAG系统+公网检索模式
22+
- **应用架构**:作为一个轻量级全链路一站式大模型应用开发框架方便扩展落地
23+
- **灵活部署**:支持大模型应用开发各依赖组件docker-compose一键拉起快速部署零配置
24+
25+
## 运行效果
26+
![image](./images/chat-04.gif)
27+
![image](./images/chat-05.png)
28+
![image](./images/chat-01.png)
29+
![image](./images/chat-02.png)
30+
31+
32+
## 💡环境配置要求
33+
34+
在开始之前,请确保您的开发环境满足以下最低配置要求:
35+
36+
- **操作系统**:Windows 10/11, macOs M系列, Centos/Ubuntu
37+
- **GPU**: 本地使用ollama部署,推荐使用Nvidia显卡或CPU模式。或公网购买APIKEY形式
38+
- **内存**:8GB+
39+
40+
## 🔧 **前置条件**
41+
* Python 3.8+
42+
* Poetry 1.8.3+
43+
* Dify 0.7.1+
44+
* Mysql 8.0+
45+
* Node.js 18.12.x+
46+
* Pnpm 9.x
47+
48+
49+
## 📚 **大模型部署**
50+
- [参考Ollama部署](https://qwen.readthedocs.io/zh-cn/latest/run_locally/ollama.html)
51+
- 模型: Qwen2.5 7B 模型
52+
- 模型: DeepSeek R1 7B 模型
53+
- [阿里云公网APIKEY形式](http://aliyun.com/product/bailian)
54+
55+
## ⚙️ **Dify环境配置**
56+
1. **安装Dify**
57+
- [官方参考文档](https://docs.dify.ai/zh-hans)
58+
- 为了兼顾第一次接触大模型应用的同学,本项目提供了一键拉起Dify服务方便大家快速体验。
59+
- Dify本机访问地址:http://localhost:18000 账号/密码: 需自己注册
60+
```bash
61+
# 拉起内置的dify服务
62+
cd docker/dify/docker
63+
docker-compose up -d
64+
65+
2. **Dify配置**
66+
- 添加Dify大模型提供商Ollama,配置Qwen2.5模型和DeepSeek R1模型
67+
- 导入项目根目录下的**docker/dify/数据问答_v1.1.2_deepseek.yml画布**
68+
- 获取画布对应的api-key先复制出来下面步骤会使用
69+
- 导入画布后需要手动选择一下你本地配置的大模型并保存
70+
71+
![image](./images/llm-setting.png)
72+
![image](./images/llm-setting-deepseek.png)
73+
![image](./images/import-convas.png)
74+
![image](./images/convas-api-key.png)
75+
76+
## 🚀 **快速体验**
77+
- 具体步骤如下:
78+
- 第一步克隆代码到本地
79+
- 第二步参考上面**大模型部署**先安装Ollama部署Qwen2.5模型和DeepSeek R1模型
80+
- 第三步Dify环境配置直接参考上面**Dify环境配置** **这步很重要!!!!**
81+
- 第四步启动服务具体步骤如下:
82+
83+
1. **克隆仓库**
84+
```bash
85+
git clone https://github.com/apconw/sanic-web.git
86+
87+
2. **启动服务**
88+
- 修改docker-compose里的chat-service服务DIFY_开头的环境变量
89+
- 修改**DIFY_DATABASE_QA_API_KEY** 获取Dify画布的api-key
90+
91+
```bash
92+
# 拉起前后端服务和中间件
93+
cd docker
94+
docker compose up -d
95+
96+
3. **Minio配置**
97+
- 访问MinIO服务,http://localhost:19001/ 账号:admin 密码:12345678
98+
- 创建一个bucket,名称filedata,同时配置Access Key
99+
- 修改docker-compose里的chat-service服务的MINIO_开头的环境变量重启服务
100+
101+
```bash
102+
# 重新拉起前后端服务和中间件
103+
cd docker
104+
docker compose up -d
105+
106+
4. **数据初始化**
107+
```bash
108+
109+
# 安装依赖包
110+
pip install pymysql
111+
112+
# Mac or Linux 用户执行
113+
114+
cd docker
115+
./init.sh
116+
117+
# Windows 用户执行
118+
119+
cd common
120+
python initialize_mysql.py
121+
122+
123+
124+
5. **访问服务**
125+
- 前端服务:http://localhost:8081
126+
127+
128+
## 🛠️ **本地开发**
129+
- 第一步克隆代码到本地
130+
- 第二步参考上面**大模型部署**先安装Ollama部署Qwen2.5模型和DeepSeek R1模型
131+
- 第三步本地开发环境Dify配置,参考上面 **Dify环境配置里 获取Dify画布的api-key 同时修改.env.dev文件里面的DIFY_DATABASE_QA_API_KEY**
132+
- 第四步本地开发环境Minio配置,修改env.dev文件里面的Minio相关密钥信息
133+
- 第五步安装前后端项目依赖并启动前后端服务具体步骤如下:
134+
135+
1. **后端依赖安装**
136+
- poetry安装 [参考poetry官方文档](https://python-poetry.org/docs/)
137+
```bash
138+
# 安装poetry
139+
pip install poetry
140+
141+
# 安装依赖根目录执行
142+
# 设置国内仓库
143+
poetry source add --priority=primary mirrors https://pypi.tuna.tsinghua.edu.cn/simple/
144+
poetry install --no-root
145+
146+
2. **安装中间件**
147+
```bash
148+
cd docker
149+
docker compose up -d mysql minio
150+
151+
3. **Minio配置**
152+
- 访问MinIO服务,http://localhost:19001/ 账号:admin 密码:12345678
153+
- 创建一个bucket,名称filedata,同时配置Access Key
154+
- 修改.evn.dev里的MINIO_开头的密钥消息
155+
156+
4. **初始化数据库**
157+
- 如果使用本地环境mysql,初始化数据时需修改源码initialize_mysql,修改数据库连接信息即可
158+
```bash
159+
# Mac or Linux 用户执行
160+
cd docker
161+
./init.sh
162+
163+
# Windows 用户执行
164+
165+
cd common
166+
python initialize_mysql.py
167+
168+
5. **前端依赖安装**
169+
- 前端是基于开源项目[可参考chatgpt-vue3-light-mvp安装](https://github.com/pdsuwwz/chatgpt-vue3-light-mvp)二开
170+
```bash
171+
# 安装前端依赖&启动服务
172+
cd web
173+
174+
#安装依赖
175+
npm install -g pnpm
176+
177+
pnpm i
178+
179+
#启动服务
180+
pnpm dev
181+
182+
6. **启动后端服务**
183+
```bash
184+
#启动后端服务
185+
python serv.py
186+
```
187+
188+
7. **访问服务**
189+
- 前端服务:http://localhost:2048
190+
191+
## 🐳 构建镜像
192+
193+
- 执行构建命令:
194+
```bash
195+
# 构建前端镜像
196+
make web-build
197+
198+
# 构建后端镜像
199+
make server-build
200+
201+
202+
## 🌹 支持
203+
204+
如果你喜欢这个项目或发现有用,可以点右上角 [`Star`](https://github.com/apconw/sanic-web) 支持一下,你的支持是我们不断改进的动力,感谢! ^_^
205+
206+
## ⭐ Star History
207+
[![Star History Chart](https://api.star-history.com/svg?repos=apconw/sanic-web&type=Date)](https://star-history.com/#apconw/sanic-web&Date)
208+
209+
## 🐳 关于技术支持申明
210+
- **开源不易,本人精力和时间有限,如需一对一技术支持可以赞助一波^_^联系微信(备注 技术支持)**
211+
- **一对一技术支持 我将亲自远程帮您配置开发环境部署和启动、并讲解项目架构以及二开思路等**
212+
- **长期技术支持方式 拉你加入群(一线算法、架构大佬群),为你提供技术指导,项目解决方案等**
213+
214+
## QA交流群
215+
- 大模型应用交流群欢迎大家, 欢迎加进群讨论分享经验
216+
- 关注下面的公众号点击·**微信群**菜单添加微信拉你入群
217+
218+
| 微信群 |
219+
|:-----------------------------------:|
220+
| ![image](./images/wchat-search.png) |
221+
222+
## License
223+
224+
[MIT](./LICENSE) License | Copyright © 2024-PRESENT [AiAdventurer](https://github.com/apconw)

0 commit comments

Comments
 (0)