ForcePilot/README.md

80 lines
2.2 KiB
Markdown
Raw Normal View History

<img src="web/public/home.png" style="border-radius: 16px; margin: 0 auto; max-height: 400px; display: block;"/>
2024-09-08 22:31:18 +08:00
<h1 style="text-align: center">Yuxi (语析)</h1>
2024-09-04 17:41:26 +08:00
## 准备
1. 提供 API 服务商的 API_KEY并放置在 `src/.env` 文件中,参考 `src/.env.template`。默认使用的是智谱AI。
2024-08-30 11:54:21 +08:00
2. 配置 python 环境 `pip install -r requirements.txt`
2024-09-04 17:41:26 +08:00
**如果不启用知识库,可以仅安装下面的依赖**
2024-08-30 11:54:21 +08:00
```
FlagEmbedding==1.2.10
Flask==3.0.3
Flask_Cors==4.0.1
openai==1.35.10
python-dotenv==1.0.1
PyYAML==6.0.1
zhipuai
```
2024-09-11 01:09:35 +08:00
### 配置图数据库 neo4j (可选)
2024-09-11 01:09:35 +08:00
使用 docker 部署 neo4j 服务,配置文件见 [local_neo4j/docker-compose.yml](local_neo4j/docker-compose.yml).
2024-09-06 12:54:17 +08:00
默认账号密码见最后一行,可以使用 `http://localhost:7474/` 在浏览器可视化访问。
```bash
2024-09-04 17:41:26 +08:00
cd local_neo4j
docker compose up -d
```
2024-09-04 17:41:26 +08:00
可以使用 `python test_neo4j.py` 来测试是否正常启动。使用 `docker compose down` 可停止服务。
2024-09-06 12:54:17 +08:00
如果想要管理 neo4j也可以使用 `docker ps` 查看容器 id然后使用 `docker exec -it <CONTAINER_ID> /bin/bash` 进入容器。
如果想要删除数据库中的文件,可以进入容器并停止 neo4j 后,执行 `rm -rf /data/databases`
2024-09-04 17:41:26 +08:00
## 启动
2024-09-11 01:09:35 +08:00
### 1. 手动启动
```bash
2024-09-11 01:09:35 +08:00
python -m src.api
cd web
npm install
npm run server
```
2024-09-11 01:09:35 +08:00
### 2. 脚本启动
```bash
bash run.sh
```
2024-09-11 01:09:35 +08:00
### 3. Docker 启动
**提醒**:此部分暂时依赖于前端打包之后的内容(后面考虑更新),同时会自动启动 neo4j 图数据库。
```bash
docker compose up --build
```
如果需要使用到本地模型,比如向量模型或者重排序模型,则需要将环境变量中设置的 `MODEL_ROOT_DIR` 做映射,比如本地模型都是存放在 `/hdd/models` 里面,则需要在 `docker-compose.yml` 中添加:
```yml
services:
# 后端服务
backend:
image: pytorch/pytorch:2.4.1-cuda11.8-cudnn9-runtime # 或者您可以自定义 Python 基础镜像
container_name: backend
working_dir: /app
volumes:
- ./src:/app/src # 映射源代码
- ./requirements.txt:/app/requirements.txt
- ./saves:/app/saves
- /hdd/models:/hdd/models # <=== 修改这里
...
```