| docker | ||
| images | ||
| scripts | ||
| src | ||
| web | ||
| .dockerignore | ||
| .gitignore | ||
| README.md | ||
| requirements.txt | ||
Yuxi (语析)
Warning
[WIP] 当前项目还处于开发的早期。
预览
准备
提供 API 服务商的 API_KEY,并放置在 src/.env 文件中,参考 src/.env.template。默认使用的是智谱AI。需要配置 ZHIPUAI_API_KEY=<ZHIPUAI_API_KEY>。
Dockers 启动
提醒:此部分暂时依赖于前端打包之后的内容(后面考虑更新),同时会自动启动 neo4j 图数据库。
docker-compose -f docker/docker-compose.dev.yml up --build
下面的这些容器都会启动:
[+] Running 7/7
✔ Network docker_app-network Created
✔ Container graph-dev Started
✔ Container milvus-etcd-dev Started
✔ Container milvus-minio-dev Started
✔ Container milvus-standalone-dev Started
✔ Container api-dev Started
✔ Container web-dev Started
关闭 docker 服务:
docker-compose -f docker/docker-compose.dev.yml down
如果需要使用到本地模型,比如向量模型或者重排序模型,则需要将环境变量中设置的 MODEL_ROOT_DIR 做映射,比如本地模型都是存放在 /hdd/models 里面,则需要在 docker-compose.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 # <=== 修改这里
...
- 配置 python 环境
pip install -r requirements.txt,python 版本应当小于3.12。 - 前端 UI 部分,需要安装 Node.js 环境,参考:Download Node.js。
如果不启用知识库,可以仅安装下面的依赖
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
Warning
milvus-lite(向量数据库)不支持在 Windows 上运行,建议使用 WSL,详见:https://github.com/milvus-io/milvus-lite/issues/175
配置图数据库 neo4j (可选)
使用 docker 部署 neo4j 服务,配置文件见 local_neo4j/docker-compose.yml.
默认账号密码见最后一行,可以使用 http://localhost:7474/ 在浏览器可视化访问。
cd local_neo4j
docker compose up -d
可以使用 python test_neo4j.py 来测试是否正常启动。使用 docker compose down 可停止服务。
如果想要管理 neo4j,也可以使用 docker ps 查看容器 id,然后使用 docker exec -it <CONTAINER_ID> /bin/bash 进入容器。
如果想要删除数据库中的文件,可以进入容器并停止 neo4j 后,执行 rm -rf /data/databases。
启动
推荐使用 docker 启动
1. 手动启动
# 后端部分
python -m src.main
# 前端部分
cd web
npm install # 首次运行需要
npm run server
2. 脚本启动
注意:此脚本不会启动图数据库 neo4j。
bash run.sh
3. Docker 启动
Changelog
- 2024.10.12 后端修改为 FastAPI,并添加了 Milnvs 的独立部署。
其余脚本
镜像构建之后,单独启动后端服务
docker run -w /app -v ./src:/app/src -v ./saves:/app/saves -p 5000:5000 yuxi-know-backend
Docker 镜像相关
如果无法直接下载相关镜像,尝试将前缀替换为:
# 以 neo4j 为例,其余一样
docker pull m.daocloud.io/docker.io/library/neo4j:latest
# 然后重命名镜像
docker tag m.daocloud.io/docker.io/library/neo4j:latest neo4j:latest
