2023年9月

1. 安装 Docker 和 RAGFlow 的步骤

1.1 系统环境要求

  • 硬件:CPU ≥ 4 核;内存 ≥ 16 GB;磁盘空间 ≥ 50 GB
  • 软件:Docker ≥ 24.0.0;Docker Compose ≥ v2.26.1

1.2 安装 Docker

Linux

# 安装 Docker 引擎
sudo apt-get update
sudo apt-get install docker.io

# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

macOS

Windows

  • 使用 WSL2 + Docker DesktopDocker Toolbox
  • 启用 Hyper-V 并安装 Docker Desktop(推荐 Windows 10/11)。

1.3 部署 RAGFlow

克隆 RAGFlow 仓库

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker

配置镜像源(国内用户必看)

编辑 .env 文件,将 HF_ENDPOINT 改为镜像站点:

HF_ENDPOINT=https://hf-mirror.com

启动服务

chmod +x ./entrypoint.sh
docker-compose -f docker-compose.yml up -d

验证服务状态

docker ps  # 查看运行中的容器
docker logs -f ragflow-server  # 查看日志

2. 初始化账号与创建知识库(金融报告案例)

2.1 注册与登录

  1. 打开浏览器,访问 http://<服务器IP>:<端口>(如 http://localhost:8080)。
  2. 点击 注册,填写邮箱(格式:xxx@qq.com)、名称、强密码。
  3. 返回登录页,使用注册的邮箱和密码登录。

2.2 创建知识库(金融报告场景)

  1. 进入知识库页面:点击顶部导航栏的 知识库 > 创建知识库
  2. 填写基本信息

    • 名称:金融报告知识库
    • 文档语言:中文
    • 权限:团队(便于共享)
    • 解析方法:General(通用解析)
  3. 保存并进入知识库

2.3 添加金融报告文档

  1. 上传文件

    • 点击 数据集 > 新增文件,上传 PDF 或 TXT 格式的金融报告(如 2024_年报.pdf)。
  2. 解析文档

    • 上传后点击 解析,等待解析完成。
    • 解析成功后,可在 数据集 页面查看内容片段(Chunks)。

3. 验证 API 接口调用

3.1 准备 API 密钥

  • 登录 RAGFlow 后,进入 个人中心 > API Key,生成密钥(如 Bearer <YOUR_API_KEY>)。

3.2 API 调用示例(curl)

1. 创建数据集

curl -X POST "http://<RAGFlow地址>/api/v1/datasets" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -d '{"name": "金融报告数据集"}'

2. 上传文档

curl -X POST "http://<RAGFlow地址>/api/v1/datasets/<dataset_id>/documents" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -F "file=@./2024_年报.pdf"

3. 解析文档

curl -X POST "http://<RAGFlow地址>/api/v1/datasets/<dataset_id>/chunks" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -d '{"document_ids": ["<document_id>"]}'

4. 检索内容

curl -X POST "http://<RAGFlow地址>/api/v1/retrieval" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -d '{
       "question": "2024年财报净利润是多少?",
       "dataset_ids": ["<dataset_id>"]
     }'

5. 创建聊天会话

curl -X POST "http://<RAGFlow地址>/api/v1/chats/<chat_id>/sessions" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -d '{"name": "金融咨询"}'

4. 技巧点详解

4.1 避坑指南:vm.max_map_count 设置

  • 问题背景:RAGFlow 使用 Elasticsearch,需调整 vm.max_map_count
  • Linux 系统

    # 临时设置
    sudo sysctl -w vm.max_map_count=262144
    
    # 永久生效:编辑 /etc/sysctl.conf,添加
    vm.max_map_count=262144
  • macOS 系统

    docker run --rm --privileged --pid=host alpine sysctl -w vm.max_map_count=262144

4.2 使用 docker-compose 快速启动服务

  • 一键部署

    # 克隆仓库并启动
    git clone https://github.com/infiniflow/ragflow.git
    cd ragflow/docker
    docker-compose -f docker-compose.yml up -d
  • 常见问题处理

    • 依赖服务失败:运行 docker-compose down -v 清理后重试。
    • 镜像下载慢:设置 HF_ENDPOINT=https://hf-mirror.com

5. 金融报告场景应用示例

  1. 上传 2024 年财报:解析后自动生成摘要和关键指标。
  2. 检索问题

    • 输入:"2024年营收增长率"
    • 输出:"2024年营收同比增长15.3%"(基于知识库内容)。
  3. 创建金融问答助手:结合大模型(如 deepseek-r1:7b)实现智能对话。

通过以上步骤,您已成功部署 RAGFlow 并构建了一个金融报告知识库。结合 API 调用和技巧优化,可快速扩展至更多行业场景。