Skip to content

Commit

Permalink
更新README说明,增加docker部署服务运行方式
Browse files Browse the repository at this point in the history
  • Loading branch information
deadwalks committed Sep 7, 2024
1 parent 9465a28 commit d4c77db
Showing 1 changed file with 49 additions and 31 deletions.
80 changes: 49 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,31 +19,41 @@

```bash
smart-finance-bot \
|- dataset \ # 该目录用于保存PDF以及SQLite数据
|- doc \ # 该目录用于保存文档类文件,例如:需求文档、说明文档、数据文档
|- app \ # 该目录用于服务端代码
|- agent \ # 该目录用于保存agent相关代码
|- rag \ # 该目录用于保存rag相关代码
|- dataset \ # 该目录用于保存PDF以及SQLite数据
|- test \ # 该目录用于保存测试类驱动相关代码
|- conf \ # 该目录用于保存配置文件
|- .qwen # 该文件保存QWen的配置文件(请自行添加对应的API KEY)
|- .ernie # 该文件保存百度千帆的配置文件(请自行添加对应的API KEY)
|- chatweb \ # 该目录用于保存前端页面代码
|- scripts \ # 该目录用于保存脚本文件,例如:启动脚本、导入向量数据库脚本等
|- test_result \ # 该目录用于保存测试结果
|- docker \
|- backend \ # 该目录对应后端python服务的Dockerfile
|- frontend \ # 该目录对应前端python服务的Dockerfile
```

## 使用说明

### 1、拉取代码
### 拉取代码
**第一步**:拉取代码到本地
```shell
git clone --recurse-submodules https://gitee.com/deadwalk/smart-finance-bot.git
```

> Git客户端[gitee使用教程](https://blog.csdn.net/weixin_50470247/article/details/133585369)
**第二步**:安装相关组件
### 服务部署
目前服务部署启动支持以下两种方式:
- 基于源码的运行:该方法需要手动安装相关依赖、启动Chroma数据库等。
- 基于Docker运行:该方法使用Docker-Compose 进行构建,主要用于快速在服务器上部署环境及体验。

在当前目录下启动命令行,在命令行中运行如下命令
#### 基于源码的运行
##### 1、安装Python的依赖
进入工程根目录后,通过命令行运行如下命令:

```bash
# 安装依赖前,强烈建议使用conda虚拟环境,例如:
Expand All @@ -55,19 +65,23 @@ pip install -r requirements.txt

> 注意:经过实际测试Python 3.11版本会存在依赖冲突问题,所以请将Python版本切换为3.10。
### 2、配置大模型的APIKey
打开配置文件 conf/.qwen,配置自己的API Key.
##### 2、配置大模型的APIKey
打开配置文件 app/conf的配置文件,配置自己的API Key即可。

> 备注:
> .qwen 文件中对应QWen的API Key
> .ernie 文件中对应百度千帆的API Key
> .zhipu 文件中对应智谱的API Key
如果想测试API-KEY是否生效,可以参照 `附录``关于如何配置智谱大模型` 的章节内容。


### 3、(可选)批量导入数据到向量数据库
如果需要重新建立向量数据库,可以通过以下方法将PDF批量导入到向量数据库中。
##### 3、准备向量数据库
准备向量数据库有两种方式:
- 第一种:运行自动化命令批量导入
- 第二种:直接从网盘下载已经建好的向量数据库

**第一种:** 运行自动化命令批量导入
> !!注意:执行导入脚本前,请确保没有使用命令行启动 `Chroma` 向量数据库。
Linux/Mac用户:
Expand All @@ -87,8 +101,12 @@ Windows用户:
scripts\import_pdf.bat
```

**第二种:** 运行自动化命令批量导入
1、访问[同义金融大模型的向量数据库](https://platform.virtaicloud.com/gemini_web/workspace/space/jxmdlbjjdhj4/data/detail/486768881516830720)
2、可以获取下载链接,下载对应的向量数据库
3、下载后将数据库文件移动至当前工程目录下,例如:将`chroma_db_qwen`移动至`smart-finance-bot`目录下,并重命名为`chroma_db`即可在启动chromadb时加载使用。

### 4、启动Chroma数据库
##### 4、启动Chroma数据库
Linux/Mac用户:
```shell
# 切换/保持当前目录为 smart-finance-bot
Expand All @@ -108,7 +126,7 @@ scripts\start_chroma.bat

> 如果想复用已经建立的向量数据库,可以在启动chroma的脚本中修改启动的path。
### 5、启动后端服务
##### 5、启动后端服务

```bash
# 切换/保持当前目录为 smart-finance-bot
Expand All @@ -119,12 +137,12 @@ python app/server.py

```

### 6、启动前端服务
##### 6、启动前端服务
**第一步**:安装Node.js
- 访问https://nodejs.cn/download/
- 按照页面提示下载Node.js到本地后进行安装

**第二步**:安装依赖包
**第二步**:安装依赖包(首次运行一次即可)
```bash
# 进入chatweb目录
cd chatweb
Expand All @@ -139,6 +157,24 @@ npm install
npm run dev
```

#### 基于Docker的运行
##### 1、准备Docker运行环境
安装Docker,具体方法不再赘述,可以查看[10分钟学会Docker的安装和使用](https://blog.csdn.net/yohnyang/article/details/138435593)

##### 2、下载Docker-Compose文件
命令行下运行
```bash
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
```

##### 3、启动服务
```bash
docker-compose -f docker-compose-base.yaml up -d
```
> - `docker-compose-base.yaml` 对应是只启动基础的服务,包括python后端、nodejs前端、Chroma数据库服务。
> - `docker-compose-es.yaml` 对应是只启动ElasticSearch服务的配置
> - `docker-compose-all.yaml` 对应是启动所有服务的配置,包括Python后端服务、前端nodejs、ElasticSearch服务等。
## 附录

### 关于如何进行批量化问题提问的测试
Expand Down Expand Up @@ -174,24 +210,6 @@ cd smart-finance-bot
2、注册账号并且登录
3、在 `API密钥` 中创建自己的API Key
4、在 `conf/.zhipu` 文件中配置好第3步创建好的密钥
5、在 `app/settings.py` 中修改全局配置CHAT的赋值,即: `CHAT = get_zhipu_models(model="glm-4-long")`
5、在 `app/settings.py` 中修改全局配置CHAT的赋值,即: `CHAT = get_zhipu_models(model="glm-4-plus")`
6、至此,大模型修改完毕,你可以使用 `test_framework.py` 中的 `test_llm_api()` 进行测试。


### 向量数据库
1、访问[趋动云数据集](https://open.virtaicloud.com/web/profile/45814/publishDataDetail/486776150082502656)
2、可以获取下载链接,下载对应的向量数据库
3、下载后将数据库文件移动至当前工程目录下,例如:将`chroma_db_qwen`移动至`smart-finance-bot`目录下,并重命名为`chroma_db`即可在启动chromadb时加载使用。


### 启动Milvus向量数据库
第一步:安装Docker,具体方法不再赘述,可以查看[10分钟学会Docker的安装和使用](https://blog.csdn.net/yohnyang/article/details/138435593)

第二步:在命令行下运行如下命令
```bash
# 下载安装脚本
$ curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh

# 启动Milvus的Docker容器
$ bash standalone_embed.sh start
```

0 comments on commit d4c77db

Please sign in to comment.