跳转到主内容

常见问题

关于常规功能、故障排除、用法等问题的解答。


常规功能


RAGFlow 与其他 RAG 产品有何不同?

尽管 LLM 显著推进了自然语言处理 (NLP) 的发展,但“垃圾进,垃圾出 (garbage in garbage out)”的现状依然存在。与其他检索增强生成 (RAG) 产品相比,RAGFlow 引入了两个独特的功能作为应对。

  • 细粒度文档解析:文档解析涉及图像和表格,并允许您根据需要进行人工干预。
  • 引用溯源,减少幻觉:您可以信任 RAGFlow 的回答,因为您可以查看支撑这些回答的引文和参考文献。

哪些嵌入模型可以本地部署?

v0.22.0 开始,我们只发布精简版 (slim edition),且不再在镜像标签中添加 -slim 后缀。


在哪里查看 RAGFlow 的版本?如何解读版本号?

您可以在 UI 的 系统 (System) 页面上找到 RAGFlow 的版本号。

Image

如果您是从源码构建 RAGFlow,版本号也会显示在系统日志中。

        ____   ___    ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/

2025-02-18 10:10:43,835 INFO 1445658 RAGFlow version: v0.15.0-50-g6daae7f2

其中

  • v0.15.0:官方发布的版本号。
  • 50:自官方发布以来的 git 提交 (commit) 数量。
  • g6daae7f2g 是前缀,6daae7f2 是当前提交 ID 的前七位字符。

为什么不使用其他开源向量数据库作为文档引擎?

目前,只有 Elasticsearch 和 Infinity 能够满足 RAGFlow 的混合搜索需求。大多数开源向量数据库对全文检索的支持有限,且稀疏嵌入 (sparse embedding) 并不是全文检索的替代方案。此外,这些向量数据库缺乏 RAGFlow 必需的关键功能,例如短语搜索和高级重排序能力。

这些局限性促使我们从头开始开发了 AI 原生数据库 Infinity


cloud.ragflow.io 与本地部署的开源 RAGFlow 服务有什么区别?

cloud.ragflow.io 展示了 RAGFlow 企业版的能力。其 DeepDoc 模型使用专有数据进行了预训练,并提供了更复杂的团队权限控制。本质上,cloud.ragflow.io 是 RAGFlow 即将推出的 SaaS(软件即服务)产品的预览版。

您可以部署开源的 RAGFlow 服务,并通过 Python 客户端或 RESTful API 进行调用。但是,cloud.ragflow.io 不支持这种方式。


为什么 RAGFlow 解析文档比 LangChain 慢?

我们在文档预处理任务(如版面分析、表格结构识别和使用视觉模型的 OCR 光学字符识别)上投入了巨大的精力。这些工作导致了额外的耗时。


为什么 RAGFlow 比其他项目需要更多资源?

RAGFlow 拥有多个用于文档结构解析的内置模型,这是消耗额外计算资源的主要原因。


RAGFlow 支持哪些架构或设备?

我们正式支持 x86 CPU 和 NVIDIA GPU。虽然我们也在 ARM64 平台上测试 RAGFlow,但我们不维护 ARM 版本的 RAGFlow Docker 镜像。如果您在 ARM 平台上,请按照此指南自行构建 RAGFlow Docker 镜像。


你们是否提供用于集成第三方应用程序的 API?

相应的 API 现已推出。有关更多信息,请参阅 RAGFlow HTTP API 参考RAGFlow Python API 参考


你们支持流式输出吗?

支持。聊天助手和 Agent 默认启用流式输出。请注意,您无法通过 RAGFlow 的 UI 禁用流式输出。如需在响应中禁用流式输出,请使用 RAGFlow 的 Python 或 RESTful API。

Python

RESTful


你们支持通过 URL 分享对话吗?

不支持,该功能暂未提供。


你们支持多轮对话并引用之前的对话作为当前查询的上下文吗?

支持,我们支持根据正在进行的对话上下文来增强用户查询。

  1. 聊天 (Chat) 页面,将鼠标悬停在目标助手上,并选择 编辑 (Edit)
  2. 聊天配置 (Chat Configuration) 弹窗中,点击 提示引擎 (Prompt engine) 标签页。
  3. 开启 多轮对话优化 (Multi-turn optimization) 即可启用此功能。

AI 搜索和对话的主要区别是什么?

  • AI 搜索:这是一种单轮 AI 对话,使用预定义的检索策略(基于加权关键词相似度和加权向量相似度的混合搜索)以及系统默认的对话模型。它不涉及高级 RAG 策略,如知识图谱、自动关键词或自动提问。检索到的切片将列在聊天模型响应的下方。
  • AI 对话:这是一种多轮 AI 对话,您可以自定义检索策略(可以用加权重排序分数代替混合搜索中的加权向量相似度)并选择对话模型。在 AI 对话中,您可以根据具体情况配置高级 RAG 策略,例如知识图谱、自动关键词和自动提问。检索到的切片不会随答案一起显示。

在调试聊天助手时,您可以将 AI 搜索作为参考,以验证您的模型设置和检索策略。


故障排除


升级到 v0.26.0 时遇到 Request error 404: undefined

要解决此问题,请执行以下任一操作:

  • main 分支 拉取最新源码,然后拉取并启动 v0.26.0 镜像。
  • .env 文件 中将 RAGFLOW_IMAGEinfiniflow/ragflow:latest 更改为 infiniflow/ragflow:v0.26.0,然后重启服务。

如何从头开始构建 RAGFlow 镜像?

请参阅 构建 RAGFlow Docker 镜像


无法访问 https://hugging-face.cn

本地部署的 RAGFlow 默认从 Huggingface 网站 下载 OCR 模型。如果您的机器无法访问该网站,会出现以下错误,导致 PDF 解析失败:

FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/huggingface/hub/models--InfiniFlow--deepdoc/snapshots/be0c1e50eef6047b412d1800aa89aba4d275f997/ocr.res'

要解决此问题,请改用 https://hf-mirror.com

  1. 停止所有容器并移除所有相关资源。

    cd ragflow/docker/
    docker compose down
  2. 取消 ragflow/docker/.env 中以下行的注释:

    # HF_ENDPOINT=https://hf-mirror.com
  3. 启动服务器。

    docker compose up -d

Fail to access model(Ollama/xxxxx)

由于内存限制或内存溢出 (OOM),Ollama 在首次加载模型时可能会超时或失败。最好先单独测试您的本地模型。如果与其他服务共用硬件,很可能会发生内存耗尽。要解决此问题,请切换到更小的模型或增加 RAM。


MaxRetryError: HTTPSConnectionPool(host='hf-mirror.com', port=443)

此错误表明您无法访问互联网或无法连接到 hf-mirror.com。请尝试以下操作:

  1. 手动从 huggingface.co/InfiniFlow/deepdoc 下载资源文件到本地文件夹 ~/deepdoc

  2. docker-compose.yml 中添加挂载卷 (volumes),例如:

    - ~/deepdoc:/ragflow/rag/res/deepdoc

RuntimeError: Unable to start Tika server.

此错误几乎总是由未安装 Java 或环境中无法访问 Java 引起的。详细说明请参阅此处


Cannot stat '/etc/nginx/conf.d/ragflow.conf.python': No such file or directory

要解决此问题,可以从 GitHub 上的对应标签处下载缺失文件,或者按如下方式更新 ~/ragflow/docker/docker-compose.yml


WARNING: can't find /ragflow/rag/res/borker.tm

忽略此警告并继续。所有的系统警告都可以忽略。


network anomaly 您的网络存在异常,无法连接到服务器。

anomaly

除非服务器完全初始化,否则您无法登录 RAGFlow。请运行 docker logs -f docker-ragflow-cpu-1 查看日志。

如果您的系统显示以下内容,则表示服务器已成功初始化:

     ____   ___    ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/

* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit

Realtime synonym is disabled, since no redis connection

忽略此警告并继续。所有的系统警告都可以忽略。


为什么我的文档解析停留在不到 1% 的位置?

stall

点击“解析状态”栏旁边的红色叉号,然后重启解析过程,观察问题是否仍然存在。如果问题依旧且您的 RAGFlow 是本地部署的,请尝试以下操作:

  1. 检查 RAGFlow 服务器的日志,查看其是否正常运行。

    docker logs -f docker-ragflow-cpu-1
  2. 检查 task_executor.py 进程是否存在。

  3. 检查您的 RAGFlow 服务器是否可以访问 hf-mirror.com 或 huggingface.co。


为什么我的 PDF 解析在快完成时卡住了,且日志没有显示任何错误?

点击“解析状态”栏旁边的红色叉号,然后重启解析过程,观察问题是否仍然存在。如果问题依旧且您的 RAGFlow 是本地部署的,解析进程很可能是由于 RAM 不足而被杀掉。尝试通过增加 docker/.env 中的 MEM_LIMIT 值来调大内存分配。

注意

确保重启 RAGFlow 服务器以使更改生效!

docker compose stop
docker compose up -d

nearcompletion


索引失败

索引失败通常表示 Elasticsearch 服务不可用。


如何查看 RAGFlow 的日志?

tail -f ragflow/docker/ragflow-logs/*.log

如何查看 RAGFlow 各组件的状态?

  1. 检查 Elasticsearch Docker 容器的状态:

    $ docker ps

    以下是示例结果:

    5bc45806b680   infiniflow/ragflow:latest     "./entrypoint.sh"        11 hours ago   Up 11 hours               0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:9380->9380/tcp, :::9380->9380/tcp   docker-ragflow-cpu-1
    91220e3285dd docker.elastic.co/elasticsearch/elasticsearch:8.11.3 "/bin/tini -- /usr/l…" 11 hours ago Up 11 hours (healthy) 9300/tcp, 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp ragflow-es-01
    d8c86f06c56b mysql:5.7.18 "docker-entrypoint.s…" 7 days ago Up 16 seconds (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp ragflow-mysql
    cd29bcb254bc quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z "/usr/bin/docker-ent…" 2 weeks ago Up 11 hours 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp ragflow-minio
  2. 按照此文档检查 Elasticsearch 服务的健康状态。

重要提示

Docker 容器的状态不一定能反映服务的状态。您可能会发现,即使对应的 Docker 容器正在运行,您的服务也可能处于亚健康状态。可能的原因包括网络故障、端口号错误或 DNS 问题。


Exception: Can't connect to ES cluster

  1. 检查 Elasticsearch Docker 容器的状态:

    $ docker ps

    健康的 Elasticsearch 组件状态应如下所示:

    91220e3285dd   docker.elastic.co/elasticsearch/elasticsearch:8.11.3   "/bin/tini -- /usr/l…"   11 hours ago   Up 11 hours (healthy)     9300/tcp, 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp           ragflow-es-01
  2. 按照此文档检查 Elasticsearch 服务的健康状态。

    重要提示

    Docker 容器的状态不一定能反映服务的状态。您可能会发现,即使对应的 Docker 容器正在运行,您的服务也可能处于亚健康状态。可能的原因包括网络故障、端口号错误或 DNS 问题。

  3. 如果您的容器不断重启,请确保根据 此 README 的要求,设置 vm.max_map_count >= 262144。如果您希望更改永久生效,需要更新 /etc/sysctl.conf 中的 vm.max_map_count 值。请注意,此配置仅适用于 Linux。


无法启动 ES 容器并报错 Elasticsearch did not exit normally

这是因为您忘记更新 /etc/sysctl.conf 中的 vm.max_map_count 值,或者该值的更改在系统重启后被重置了。


{"data":null,"code":100,"message":"<NotFound '404: Not Found'>"}

您的 IP 地址或端口号可能不正确。如果您使用的是默认配置,请在浏览器中输入 http://<YOUR_MACHINE_IP>不是 9380,且不需要端口号!)。这应该可以正常工作。


Ollama - Mistral 实例运行在 127.0.0.1:11434,但无法在 RAGFlow 中添加 Ollama 模型

正确的 Ollama IP 地址和端口对于在 RAGFlow 中添加 Ollama 模型至关重要:

  • 如果您在 cloud.ragflow.io 上操作,请确保托管 Ollama 的服务器具有公网可访问的 IP 地址。请注意,127.0.0.1 并不是公网可访问的 IP 地址。
  • 如果您是本地部署 RAGFlow,请确保 Ollama 和 RAGFlow 处于同一个局域网内且可以相互通信。

有关更多信息,请参阅 部署本地大模型 (LLM)


你们是否提供使用 DeepDoc 解析 PDF 或其他文件的示例?

是的。请查看 rag/app 文件夹下的 Python 文件。


FileNotFoundError: [Errno 2] No such file or directory

  1. 检查 MinIO Docker 容器的状态。

    $ docker ps

    健康的 Elasticsearch 组件状态应如下所示:

    cd29bcb254bc   quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z       "/usr/bin/docker-ent…"   2 weeks ago    Up 11 hours      0.0.0.0:9001->9001/tcp, :::9001->9001/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp     ragflow-minio
  2. 按照此文档检查 Elasticsearch 服务的健康状态。

重要提示

Docker 容器的状态不一定能反映服务的状态。您可能会发现,即使对应的 Docker 容器正在运行,您的服务也可能处于亚健康状态。可能的原因包括网络故障、端口号错误或 DNS 问题。


用法


如何在 RAGFlow 中运行本地部署的大模型 (LLM)?

您可以使用 Ollama 或 Xinference 部署本地大模型。有关更多信息,请参阅此处


如何添加不支持的 LLM?

如果您的模型目前不被直接支持,但其 API 与 OpenAI 兼容,请在 模型提供商 (Model providers) 页面上点击 OpenAI-API-Compatible 来配置您的模型。

openai-api-compatible


如何将 RAGFlow 与 Ollama 集成?

  • 如果 RAGFlow 是本地部署的,请确保您的 RAGFlow 和 Ollama 处于同一局域网内。
  • 如果您使用的是我们的在线演示版,请确保您的 Ollama 服务器的 IP 地址是公网可访问的。

有关更多信息,请参阅此处


如何更改文件大小限制?

对于本地部署的 RAGFlow:单次上传的总文件大小限制为 1GB,批量上传限制为 32 个文件。每个账户的文件总数没有上限。要调整 1GB 的文件大小限制:

  • docker/.env 中,取消 # MAX_CONTENT_LENGTH=1073741824 的注释,根据需要调整数值,请注意 1073741824 代表 1GB 的字节数。
  • 如果您更新了 docker/.env 中的 MAX_CONTENT_LENGTH 值,请确保同时相应地更新 nginx/nginx.conf 中的 client_max_body_size
注意

不建议手动更改 32 个文件的批量上传限制。但是,如果您使用 RAGFlow 的 HTTP API 或 Python SDK 上传文件,32 个文件的限制将自动取消。


Error: Range of input length should be [1, 30000]

出现此错误是因为匹配您搜索条件的切片过多。尝试调小 TopN 并调大 相似度阈值 (Similarity threshold) 来解决此问题:

  1. 点击页面中上部的 聊天 (Chat)
  2. 右键点击目标对话 > 编辑 (Edit) > 提示引擎 (Prompt engine)
  3. 减小 TopN 和/或提高 相似度阈值 (Similarity threshold)
  4. 点击 确定 (OK) 确认更改。

topn


如何获取集成第三方应用程序的 API 密钥?

请参阅 获取 RAGFlow API 密钥


如何升级 RAGFlow?

有关更多信息,请参阅 升级 RAGFlow


如何将文档引擎切换到 Infinity?

要将您的文档引擎从 Elasticsearch 切换到 Infinity

  1. 停止所有运行中的容器。

    $ docker compose -f docker/docker-compose.yml down -v
    警告

    -v 将删除所有 Docker 容器卷,现有数据将被清除。

  2. docker/.env 中,设置 DOC_ENGINE=${DOC_ENGINE:-infinity}

  3. 重启您的 Docker 镜像。

    $ docker compose -f docker-compose.yml up -d

上传的文件存储在 RAGFlow 镜像的什么位置?

所有上传的文件都存储在 MinIO 中,这是 RAGFlow 的对象存储解决方案。例如,如果您直接将文件上传到数据集,它位于 <knowledgebase_id>/filename


如何调整文档解析和嵌入的批处理大小 (batch size)?

您可以通过设置环境变量 DOC_BULK_SIZEEMBEDDING_BATCH_SIZE 来控制文档解析和嵌入的批处理大小。增加这些值可以提高大规模数据处理的吞吐量,但也会增加内存消耗。请根据您的硬件资源进行调整。


如何提高我聊天助手的问答速度?

参见此处


如何提高我 Agent 的问答速度?

参见此处

如何使用 MinerU 解析 PDF 文档?

从 v0.22.0 版本开始,RAGFlow 将 MinerU (≥ 2.6.3) 作为一个支持多种后端的可选 PDF 解析器。请注意,RAGFlow 仅作为 MinerU 的*远程客户端*,通过调用 MinerU API 来解析 PDF 并读取返回的文件。要使用此功能:

  1. 准备一个可访问的 MinerU API 服务 (FastAPI 服务器)。
  2. .env 文件中或通过 UI 中的 模型供应商 页面,将 RAGFlow 配置为 MinerU 的远程客户端:
    • MINERU_APISERVER: MinerU API 端点 (例如 http://mineru-host:8886)。
    • MINERU_BACKEND: MinerU 后端:
      • "pipeline" (默认)
      • "vlm-http-client"
      • "vlm-transformers"
      • "vlm-vllm-engine"
      • "vlm-mlx-engine"
      • "vlm-vllm-async-engine"
      • "vlm-lmdeploy-engine".
    • MINERU_SERVER_URL: (可选) 下游 vLLM HTTP 服务器 (例如 http://vllm-host:30000)。当 MINERU_BACKEND 设置为 "vlm-http-client" 时适用。
    • MINERU_OUTPUT_DIR: (可选) 摄入前用于保存 MinerU API 服务输出 (zip/JSON) 的本地目录。
    • MINERU_DELETE_OUTPUT: 使用临时目录时是否删除临时输出:
      • 1: 删除。
      • 0: 保留。
  3. 在 Web UI 中,导航至数据集的 配置 页面,找到 数据摄入流水线 部分:
    • 如果您决定使用 内置 下拉列表中的分块方法,请确保其支持 PDF 解析,然后在 PDF 解析器 下拉列表中选择 MinerU
    • 如果您使用自定义数据摄入流水线,请在 解析器 组件的 PDF 解析器 部分中选择 MinerU
注意

所有 MinerU 环境变量都是可选的。设置后,这些值将用于在首次使用时为租户自动配置 MinerU OCR 模型。要避免自动配置,请跳过环境变量设置,仅通过 UI 的 模型供应商 页面配置 MinerU。

警告

第三方视觉模型被标记为 实验性,因为我们尚未针对上述数据提取任务对这些模型进行充分测试。


如何配置 MinerU 的特定设置?

下表总结了远程 MinerU 最常用的 MinerU 环境变量:

环境变量描述默认值示例
MINERU_APISERVERMinerU API 服务的 URL未设置MINERU_APISERVER=http://your-mineru-server:8886
MINERU_BACKENDMinerU 解析后端pipelineMINERU_BACKEND=pipeline|vlm-transformers|vlm-vllm-engine|vlm-mlx-engine|vlm-vllm-async-engine|vlm-http-client
MINERU_SERVER_URL远程 vLLM 服务器的 URL(适用于 vlm-http-client未设置MINERU_SERVER_URL=http://your-vllm-server-ip:30000
MINERU_OUTPUT_DIRMinerU 输出文件的目录系统定义的临时目录MINERU_OUTPUT_DIR=/home/ragflow/mineru/output
MINERU_DELETE_OUTPUT当使用临时目录时,是否删除 MinerU 输出目录1(删除临时输出)MINERU_DELETE_OUTPUT=0
  1. 设置 MINERU_APISERVER 以将 RAGFlow 指向您的 MinerU API 服务器。
  2. 设置 MINERU_BACKEND 以指定解析后端。
  3. 如果使用 "vlm-http-client" 后端,请将 MINERU_SERVER_URL 设置为您的 vLLM 服务器 URL。MinerU API 要求在请求体中包含 backend=vlm-http-clientserver_url=http://<server>:30000
  4. 设置 MINERU_OUTPUT_DIR 以指定 RAGFlow 存储 MinerU API 输出的位置;否则将使用系统临时目录。
  5. MINERU_DELETE_OUTPUT 设置为 0 以保留 MinerU 的临时输出(对调试很有用)。
注意

有关 MinerU 原生支持的其他环境变量信息,请参见此处


如何配合 vLLM 服务器使用 MinerU 进行文档解析?

RAGFlow 支持 MinerU 的 vlm-http-client 后端,使您能够在通过 HTTP 调用 MinerU 的同时,将文档解析任务委托给远程 vLLM 服务器。配置步骤如下:

  1. 确保 MinerU API 服务可访问(例如 http://mineru-host:8886)。
  2. 设置或指向一个 vLLM HTTP 服务器(例如 http://vllm-host:30000)。
  3. 在您的 docker/.env 文件中(或如果您从源码运行,则在 shell 中)进行以下配置:
    • MINERU_APISERVER=http://mineru-host:8886
    • MINERU_BACKEND="vlm-http-client"
    • MINERU_SERVER_URL="http://vllm-host:30000" MinerU API 调用要求在请求体中包含 backend=vlm-http-clientserver_url=http://<server>:30000
  4. 根据需要配置 MINERU_OUTPUT_DIR / MINERU_DELETE_OUTPUT,以便在摄取前管理返回的 zip/JSON 文件。
注意

使用 vlm-http-client 后端时,RAGFlow 服务器不需要 GPU,仅需网络连接。这使得多个 RAGFlow 实例共享一个远程 vLLM 服务器的成本效益型分布式部署成为可能。

如何使用外部 Docling Serve 服务器进行文档解析?

RAGFlow 支持两种 Docling 模式:

  1. 本地 Docling(现有模式):在 RAGFlow 运行时中安装 Docling (USE_DOCLING=true) 并在进程内解析。
  2. 外部 Docling Serve(远程模式):将 RAGFlow 指向 Docling Serve 端点。

要启用远程模式,请设置:

DOCLING_SERVER_URL=http://your-docling-serve-host:5001

行为

  • 当设置了 DOCLING_SERVER_URL 时,RAGFlow 使用 /v1/convert/source 将 PDF 发送到 Docling Serve(对于旧版服务器则回退到 /v1alpha/convert/source)。
  • 当未设置 DOCLING_SERVER_URL 时,RAGFlow 使用本地进程内 Docling。

如何使用 PaddleOCR 进行文档解析?

从 v0.24.0 版本开始,RAGFlow 将 PaddleOCR 作为一个可选的 PDF 解析器。请注意,RAGFlow 仅作为 PaddleOCR 的*远程客户端*,通过调用 PaddleOCR API 来解析 PDF 并读取返回的文件。

在 RAGFlow 中配置和使用 PaddleOCR 主要有两种方式:

1. 使用 PaddleOCR 官方 API

此方法使用带有访问令牌的 PaddleOCR 官方 API 服务。

步骤 1:配置 RAGFlow

  • 通过环境变量

    # In your docker/.env file:
    PADDLEOCR_API_URL=https://your-paddleocr-api-endpoint
    PADDLEOCR_ALGORITHM=PaddleOCR-VL
    PADDLEOCR_ACCESS_TOKEN=your-access-token-here
  • 通过界面 (UI)

    • 导航至模型供应商页面
    • 添加一个新的 OCR 模型,厂商类型选择 "PaddleOCR"
    • 配置以下字段:
      • PaddleOCR API URL:您的 PaddleOCR API 端点
      • PaddleOCR 算法:选择与 API 端点对应的算法
      • AI Studio 访问令牌:您的 PaddleOCR API 访问令牌

步骤 2:在数据集配置中使用

  • 在数据集的配置页面,找到解析方法部分
  • 如果使用支持 PDF 解析的内置切片方法,在 PDF 解析器下拉菜单中选择 PaddleOCR
  • 如果使用自定义解析流水线,在 Parser 组件中选择 PaddleOCR

注意事项

  • 要获取 API URL,请访问 PaddleOCR 官方网站,点击 API 按钮,为您想要使用的特定算法(例如 PaddleOCR-VL)选择示例代码,并复制 API_URL
  • 访问令牌可以从 AI Studio 平台 获取。
  • 此方法需要互联网连接以访问官方 PaddleOCR API。

2. 使用自托管 PaddleOCR 服务

此方法允许您部署自己的 PaddleOCR 服务,且无需访问令牌即可使用。

步骤 1:部署 PaddleOCR 服务。按照 PaddleOCR 服务化部署文档 部署您自己的服务。对于布局解析,您可以使用如下端点:

https://:8080/layout-parsing

步骤 2:配置 RAGFlow

  • 通过环境变量

    PADDLEOCR_API_URL=https://:8080/layout-parsing
    PADDLEOCR_ALGORITHM=PaddleOCR-VL
    # No access token required for self-hosted service
  • 通过界面 (UI)

    • 导航至模型供应商页面
    • 添加一个新的 OCR 模型,厂商类型选择 "PaddleOCR"
    • 配置以下字段:
      • PaddleOCR API URL:您部署服务的端点
      • PaddleOCR 算法:选择与所部署服务对应的算法
      • AI Studio 访问令牌:留空

步骤 3:在数据集配置中使用

  • 在数据集的配置页面,找到解析方法部分
  • 如果使用支持 PDF 解析的内置切片方法,在 PDF 解析器下拉菜单中选择 PaddleOCR
  • 如果使用自定义解析流水线,在 Parser 组件中选择 PaddleOCR

环境变量摘要

环境变量描述默认值是否必填
PADDLEOCR_API_URLPaddleOCR API 端点 URL""是(当使用环境变量时)
PADDLEOCR_ALGORITHM用于解析的算法"PaddleOCR-VL"
PADDLEOCR_ACCESS_TOKEN官方 API 的访问令牌仅在使用官方 API 时

环境变量可用于自动配置,但如果通过 UI 配置则不是必须的。设置环境变量后,这些值将在首次使用时用于为租户自动配置 PaddleOCR 模型。

如何在 RAGFlow 中使用 Ollama 进行本地 LLM 推理?

RAGFlow 支持将 Ollama 作为本地模型供应商,用于私有、离线推理。

步骤 1:启动 Ollama 并拉取模型

export OLLAMA_HOST=0.0.0.0
ollama serve
ollama pull llama3

步骤 2:在 RAGFlow 中添加 Ollama

  1. 前往设置 > 模型供应商 > Ollama
  2. 将基础 URL 设置为 http://host.docker.internal:11434 (Docker) 或 https://:11434 (裸机)。
  3. 输入模型名称(例如 llama3)并点击保存

步骤 3:在您的助手中使用 Ollama

  • 打开助手的配置页面,在聊天模型下选择 Ollama 模型。
本页内容
© . This site is unofficial and not affiliated with InfiniFlow.