使用 RAGFlow

1. 配置模型

LLM:是大语言模型,用于 RAGFlow 中的聊天功能;如果不使用 RAGFlow 中的聊天功能也可以不设置此模型;

Embedding:是向量模型,用于将输入文本转为数字向量,然后交给 Elasticsearch 进行检索。

VLM:视频语言模型,用于将要入库的图片、流程图、截图等视觉内容转为文本,以供 Embedding 模型向量化;

ASR:语音识别模型,用于将要入库的语音转换文字,以供 Embedding 模型向量化;

Rerank:重排序模型,用于对初步检索结果重新评估相关性;

TTS:语音合成模型,用于最终输出的文字转换语音播放给用户听;


文档入库流程:


知识检索流程:


2. 检索引擎

Elasticsearch :不仅支持全文检索,还支持向量检索(Vector Search),甚至可以同时进行全文检索和向量检索(Hybrid Search,混合检索)。


3. 切换模型

Embedding 模型并不是可以无成本替换的。知识库一旦完成向量完成,后续更换 Embedding 模型通常需要重新构建向量索引。因为不同 Embedding 模型生成的向量通常不属于同一个向量空间,不能直接混合比较。例如:分别使用模型 A 和模型 B 生成的向量如下:

模型 A:
[0.12, -0.35, 0.87, 0.21, ...]
  └── 假设为 1024 维向量

模型 B:
[-0.45, 0.18, 0.63, 0.92, ...]
  └── 假设为 1536 维向量

VLM 和 ASR 模型用于将视觉 和语音文件转为文本,因此理论上这两个模型可随时切换;但要在 RAGFlow 中找到这些结果文本,并重新与原始输入文档共同进行向量化,可能会比较麻烦。

其它模型切换都很容易。


4. 创建知识库


解析方法:内置 表示使用 RAGFlow 内置的文档解析与分块策略,配置简单,适合快速测试;Pipeline 是指使用预先定义的文档处理流水线, 适合大量 Word、PPT、PDF 混合,并且需要精细处理复杂表格、架构图和规范章节的场景。

分块方法:


5. 向知识库中上传文档

上传文档时有一个“创建时解析”的选项;如果文件没有经过解析,就无法参与 RAGFlow 的正常知识库检索,但文件仍然可以上传、保存和管理。

“创建时解析”这个选项存在的主要作用是:将文件上传与文档解析分离,让用户自行决定什么时候消耗计算资源、调用模型并建立检索索引。例如下:

  • 批量上传文件,稍后统一解析,以避免短实践占用大量硬件资源或模型API配额;
  • 批量上传后,先进行小范围向量化配置和测试,然后再决定是否全部解析。

6. 批量上传目录

RAGFlow 的产品定位是 RAG(检索增强生成)引擎,而不是企业文件管理系统,因此其对文件上传管理支持的并不友好;要通过 RAGFlow API 才能批量上传带有层级结构的本地目录;例如下:

然后链接到指定知识库,例如下:


7. 获取 RAGFlow API Key

RAGFlow API Key 用于通过脚本操作 RAGFlow,例如:AI客户端MCP调用、RAGFlow批量文件上传等。


8. 获取知识库ID

打开 知识库 -> 选择某个知识库,然后URL中能看到知识库ID


举报

© 著作权归作者所有


1