Go to file
Wenjie Zhang 02686db89f temp
2024-10-02 20:11:28 +08:00
images update readme for public 2024-09-26 11:48:47 +08:00
local_neo4j update 2024-10-02 18:15:35 +08:00
scripts/milvus temp 2024-10-02 20:11:28 +08:00
src temp 2024-10-02 20:11:28 +08:00
vllm update vllm 2024-09-24 11:58:13 +08:00
web temp 2024-10-02 20:11:28 +08:00
.dockerignore add docker support for whole project 2024-09-11 01:09:35 +08:00
.gitignore update 2024-09-09 17:07:03 +08:00
docker-compose.yml Update docker-compose.yml 2024-09-11 01:13:23 +08:00
Dockerfile add docker support for whole project 2024-09-11 01:09:35 +08:00
README.md update zhipuai_api_key and siliconflow 2024-09-28 00:39:31 +08:00
requirements.txt fix pdf parser bug 2024-09-29 16:13:06 +08:00
run.sh 修改后端入口为 src, 运行代码不需要使用 cd src, 添加前端查看检索结果 2024-07-28 16:16:52 +08:00

Yuxi (语析)

Warning

[WIP] 当前项目还处于开发的早期。

预览

图片1 图片1 图片1 图片1

准备

  1. 提供 API 服务商的 API_KEY并放置在 src/.env 文件中,参考 src/.env.template。默认使用的是智谱AI。需要配置 ZHIPUAI_API_KEY=<ZHIPU_KEY>
  2. 配置 python 环境 pip install -r requirements.txtpython 版本应当小于 3.12
  3. 前端 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

启动

1. 手动启动

# 后端部分
python -m src.api

# 前端部分
cd web
npm install  # 首次运行需要
npm run server

2. 脚本启动

注意:此脚本不会启动图数据库 neo4j。

bash run.sh

3. Docker 启动

提醒:此部分暂时依赖于前端打包之后的内容(后面考虑更新),同时会自动启动 neo4j 图数据库。

docker compose up --build

如果需要使用到本地模型,比如向量模型或者重排序模型,则需要将环境变量中设置的 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  # <=== 修改这里
...

提醒:启动 docker 之后,如果需要进行调试的时候,务必先停掉 docker (在项目路径下,使用 docker compose down),然后再运行 bash run.sh,不然会出现端口冲突。这是由于没有单独设置生产环境和开发环境,这个以后再说。

其余脚本

镜像构建之后,单独启动后端服务

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