RAGFlowwindows本地pycharm运行

Python环境准备

1. 安装pipx。如已经安装,可跳过本步骤:

bash 复制代码
    python -m pip install --user pipx
    python -m pipx ensurepath
    ##  验证安装
    pipx --version

2. 安装 uv。如已经安装,可跳过本步骤:

bash 复制代码
pipx install uv
## 设置为阿里云 PyPI 镜像源
set UV_INDEX=https://mirrors.aliyun.com/pypi/simple

3. 克隆 RAGFlow

bash 复制代码
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/

4.安装 Python 依赖项:

slim:

bash 复制代码
# install RAGFlow dependent python modules
uv sync --python 3.11 

slim不用full

full:

bash 复制代码
--all-extras # install RAGFlow dependent python modules
uv sync --python 3.11 

注2:会存在无法安装pyicu得问题,本地运行若只需要聊天/知识库可以先忽略

pyicu (国际化依赖源包)版本 ==2.14 安装可能会不成功,需要注释pyproject.toml中的pyicu,对于现阶段开发无影响,

注释掉 docker/entrypoint.sh 中的这一行。nginx

bash 复制代码
# /usr/sbin/nginx

激活 Python 虚拟环境:

bash 复制代码
source .venv/bin/activate
export PYTHONPATH=$(pwd)

5.下载项目必备模型

找到目录下得download_depts.py文件,开启加速器运行,当前目录下会下载这些文件

注:如果存在虚拟环境则需要把nltk_data文件夹移到虚拟环境文件目录下

6. 修改配置文件(service_conf.yml)

编辑/conf/service_conf.yml

yaml 复制代码
ragflow:
  host: 0.0.0.0
  http_port: 9380
mysql:
  # 需要先在数据库创建该库
  name: '库名'
  user: 'xx'
  password: 'xxx'
  host: 'ip'
  port: port
  max_connections: 100
  stale_timeout: 30
minio:
  user: 'access_key'
  password: 'secret_key'
  host: 'ip:port'
es:
  hosts: 'http://ip:port'
  username: 'xx'
  password: 'xxx'
infinity:
  uri: 'localhost:23817'
  db_name: 'default_db'
redis:
  db: 1
  password: 'x'
  host: 'ip:port'

# postgres:
#   name: 'rag_flow'
#   user: 'rag_flow'
#   password: 'infini_rag_flow'
#   host: 'postgres'
#   port: 5432
#   max_connections: 100
#   stale_timeout: 30
# s3:
#   access_key: 'access_key'
#   secret_key: 'secret_key'
#   region: 'region'
# oss:
#   access_key: 'access_key'
#   secret_key: 'secret_key'
#   endpoint_url: 'http://oss-cn-hangzhou.aliyuncs.com'
#   region: 'cn-hangzhou'
#   bucket: 'bucket_name'
# azure:
#   auth_type: 'sas'
#   container_url: 'container_url'
#   sas_token: 'sas_token'
# azure:
#   auth_type: 'spn'
#   account_url: 'account_url'
#   client_id: 'client_id'
#   secret: 'secret'
#   tenant_id: 'tenant_id'
#   container_name: 'container_name'
# user_default_llm:
#   factory: 'Tongyi-Qianwen'
#   api_key: 'sk-xxxxxxxxxxxxx'
#   base_url: ''
# oauth:
#   github:
#     client_id: xxxxxxxxxxxxxxxxxxxxxxxxx
#     secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
#     url: https://github.com/login/oauth/access_token
#   feishu:
#     app_id: cli_xxxxxxxxxxxxxxxxxxx
#     app_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
#     app_access_token_url: https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal
#     user_access_token_url: https://open.feishu.cn/open-apis/authen/v1/oidc/access_token
#     grant_type: 'authorization_code'
# authentication:
#   client:
#     switch: false
#     http_app_key:
#     http_secret_key:
#   site:
#     switch: false
# permission:
#   switch: false
#   component: false
#   dataset: false

6.下载项目必备模型

用git bash进入D:\code\python\ragflow

bash 复制代码
 export HF_ENDPOINT=https://hf-mirror.com

找到目录下得download_depts.py文件,开启加速器运行,当前目录下会下载这些文件

7.启动服务

接口服务python路径:api/ragflow_server.py

bash 复制代码
python api/ragflow_server.py

任务服务python路径:rag/svr/task_executor.py

bash 复制代码
python rag/svr/task_executor.py

8.前端

准备:安装node>16

idea打开web的Terminal窗口执行:

依赖安装

bash 复制代码
npm run install

程序启动

bash 复制代码
npm run dev

9.pycharm配置虚拟环境

参考:
https://ragflow.io/docs/dev/launch_ragflow_from_source
https://blog.csdn.net/university96/article/details/146361237
https://blog.csdn.net/qq_33407429/article/details/146182253
https://blog.csdn.net/weixin_45535519/article/details/146199830
http://mp.weixin.qq.com/s?__biz=MjM5NzQxMTAyNw==&mid=2247486291&idx=1&sn=2b5cd4d0e884683b7597d9efa5faaac1&chksm=a7e28746e040f049c53b0cf8558f969cc1699ff35dc17a9a04726c1bc59d22f2741ddc59510a&mpshare=1&scene=1&srcid=0416xjiIyCzsKwumLEySgZw3&sharer_shareinfo=30a70149dc5a708922287838404bcf5a&sharer_shareinfo_first=30a70149dc5a708922287838404bcf5a#rd

相关推荐
SSH_55233 小时前
【大模型】情绪对话模型项目研发
人工智能·python·语言模型
love530love3 小时前
【笔记】在 MSYS2(MINGW64)中安装 python-maturin 的记录
运维·开发语言·人工智能·windows·笔记·python
G皮T6 小时前
【Python Cookbook】文件与 IO(二)
python·i/o·io·文件·gzip·stringio·bytesio
封奚泽优6 小时前
使用Python绘制节日祝福——以端午节和儿童节为例
人工智能·python·深度学习
干啥都是小小白6 小时前
话题通信之python实现
python·机器人·ros
仟濹7 小时前
「数据采集与网络爬虫(使用Python工具)」【数据分析全栈攻略:爬虫+处理+可视化+报告】
大数据·爬虫·python·数据挖掘·数据分析
水银嘻嘻7 小时前
03 APP 自动化-定位元素工具&元素定位
python·appium·自动化
蹦蹦跳跳真可爱5897 小时前
Python----目标检测(《用于精确目标检测和语义分割的丰富特征层次结构》和R-CNN)
人工智能·python·深度学习·神经网络·目标检测·cnn
抽风的雨6108 小时前
【python深度学习】Day 42 Grad-CAM与Hook函数
开发语言·python·深度学习
Mikhail_G8 小时前
Python应用for循环临时变量作用域
大数据·运维·开发语言·python·数据分析