RagFlow
本文档为开发环境搭建,切勿用于生产
-
前端构建
- 安装依赖,首先
cd web
到前端路径下,使用npm i --force
安装前端的依赖包 (node 安装自己解决吧!) - 等待依赖安装完成后,使用
npm run dev
启动,访问地址,会出现如下图
- 安装依赖,首先
-
后段构建
-
依赖组件
-
MySQL
-
MiniO
-
PostgresSQ L
-
Redis
-
Elasticsearch
以上组件自行安装,或docker启动,都可以。依据个人爱好而定
-
-
环境依赖
- Python (个人为3.10)
-
API 启动流程
-
替换配置文件
- 在
/path/to/pag_flow/conf/service_conf.yaml
中替换 MYSQL 等连接信息
- 在
-
python依赖包安装
- 如果你是
x86
结构,使用pip install -r requirements.txt
- 如果是
arm
架构, 使用pip install -r requirements_arm.txt
- 如果你是
-
azure 安装
- 从
azure
5.0.0 后,已经开始弃用,如需使用需要单独安装,所以需要单独安装, 你也可以写在requirements.txt
中,我比较懒,所以就手动安装了pip install azure-storage-blob
pip install azure-identity
pip install azure-storage-file-datalake
- 从
-
其他python包
- 不知道是不是我安装依赖时网络的原因,运行时提示找不到一些包
pip install infinity_emb
pip install graspologic
- 不知道是不是我安装依赖时网络的原因,运行时提示找不到一些包
-
乱七八糟的下载 (这一步可以先跳过)
-
因网络问题,有些数据集文件无法下载,所以想要运行需要手动下载文件
-
NLTK 数据集下载时因网络会出现异常
-
Resource wordnet not found. Please use the NLTK Downloader to obtain the resource: >>> import nltk >>> nltk.download('wordnet') For more information see: https://www.nltk.org/data.html Attempted to load corpora/wordnet Searched in: - '/Users/zhiboyuan/nltk_data' - '/opt/miniconda3/envs/ragflow/nltk_data' - '/opt/miniconda3/envs/ragflow/share/nltk_data' - '/opt/miniconda3/envs/ragflow/lib/nltk_data' - '/usr/share/nltk_data' - '/usr/local/share/nltk_data' - '/usr/lib/nltk_data' - '/usr/local/lib/nltk_data'
-
针对这个异常, 我是手动下载,然后在
Searched in
下面的路径中随便选一个放到指定目录下 -
这里给出GitHub下载地址 NLTK Data GitHub
-
-
-
模型下载
- 程序会下载
huggingface
网站中InfiniFlow/deepdoc
下的模型保存到rag/res/deepdoc
这里的deepdoc
文件夹是我手动建立的 - Deepdoc 下的模型下载地址 deepdoc
- 程序会下载
-
其他
- 在启动过程中发现还有
BAAI/bge-large-zh-v1.5
等模型的下载,我这里重新运行了几遍程序,就没有问题了,也可以到网站下载模型,放到指定的目录下
- 在启动过程中发现还有
-
-
启动
- 在
service_conf.yaml
中更改http_port
为 9456 - 我是使用pycharm 启动的,所以直接运行这两个文件即可
api/ragflow_server.py
rag/svr/task_executor.py
- 在
-
登陆后界面
-
-
-