跳转到主内容
版本:开发版

配置知识库

知识库、无幻觉聊天和文件管理是 RAGFlow 的三大支柱。RAGFlow 的 AI 聊天基于知识库。RAGFlow 的每个知识库都作为一个知识来源,将您从本地计算机上传的文件和在文件管理中生成的文件引用解析为未来 AI 聊天的真正“知识”。本指南将演示知识库功能的一些基本用法,涵盖以下主题:

  • 创建知识库
  • 配置知识库
  • 搜索知识库
  • 删除知识库

创建知识库

通过多个知识库,您可以构建更灵活、多样化的问答系统。要创建您的第一个知识库:

create knowledge base

每创建一个知识库,系统都会在 root/.knowledgebase 目录下生成一个同名文件夹。

配置知识库

以下截图显示了知识库的配置页面。正确配置知识库对于未来的 AI 聊天至关重要。例如,选择错误的嵌入模型或分块方法会导致意想不到的语义丢失或聊天中答案不匹配。

knowledge base configuration

本节涵盖以下主题:

  • 选择分块方法
  • 选择嵌入模型
  • 上传文件
  • 解析文件
  • 干预文件解析结果
  • 运行检索测试

选择分块方法

RAGFlow 提供多种分块模板,以方便对不同布局的文件进行分块并确保语义完整性。在分块方法中,您可以选择适合您文件布局和格式的默认模板。下表显示了每个支持的分块模板的描述和兼容的文件格式:

模板描述文件格式
通用根据预设的分块 token 数连续对文件进行分块。MD, MDX, DOCX, XLSX, XLS (Excel 97-2003), PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF, CSV, JSON, EML, HTML
问答XLSX, XLS (Excel 97-2003), CSV/TXT
简历仅限企业版。您也可以在 demo.ragflow.io 上试用。DOCX, PDF, TXT
手动PDF
表格XLSX, XLS (Excel 97-2003), CSV/TXT
论文PDF
书籍DOCX, PDF, TXT
法律DOCX, PDF, TXT
演示文稿PDF, PPTX
图片JPEG, JPG, PNG, TIF, GIF
整篇每个文档作为一个整体(一个分块)进行分块。DOCX, XLSX, XLS (Excel 97-2003), PDF, TXT
标签该知识库作为其他知识库的标签集。XLSX, CSV/TXT

您还可以在数据集页面更改文件的分块方法。

change chunking method

选择嵌入模型

嵌入模型将分块转换为嵌入向量。一旦知识库中有了分块,就无法更改嵌入模型。要切换到不同的嵌入模型,您必须删除知识库中所有现有的分块。原因很明显,我们必须确保特定知识库中的文件使用同一个嵌入模型转换为嵌入(确保它们在相同的嵌入空间中进行比较)。

以下嵌入模型可以本地部署:

  • BAAI/bge-large-zh-v1.5
  • maidalun1020/bce-embedding-base_v1
重要

这两个嵌入模型是专门针对英语和中文进行优化的,如果您用它们来嵌入其他语言的文档,性能可能会受影响。

上传文件

  • RAGFlow 的文件管理允许您将一个文件链接到多个知识库,在这种情况下,每个目标知识库都持有该文件的引用。
  • 知识库中,您也可以选择从本地计算机上传单个文件或文件文件夹(批量上传)到知识库,在这种情况下,知识库持有的是文件的副本。

虽然直接将文件上传到知识库似乎更方便,但我们强烈建议将文件上传到文件管理,然后再将它们链接到目标知识库。这样,您可以避免永久删除上传到知识库的文件。

解析文件

文件解析是知识库配置中的一个关键主题。在 RAGFlow 中,文件解析有两层含义:根据文件布局对文件进行分块,以及在这些分块上构建嵌入和全文(关键词)索引。选择好分块方法和嵌入模型后,您就可以开始解析文件了:

parse file

  • 点击 UNSTART 旁边的播放按钮开始文件解析。
  • 如果文件解析长时间停滞,请点击红色叉号图标,然后刷新。
  • 如上所示,RAGFlow 允许您为特定文件使用不同的分块方法,提供了超越默认方法的灵活性。
  • 如上所示,RAGFlow 允许您启用或禁用单个文件,从而对基于知识库的 AI 聊天进行更精细的控制。

干预文件解析结果

RAGFlow 具有可见性和可解释性,允许您查看分块结果并在必要时进行干预。要做到这一点:

  1. 点击完成文件解析的文件以查看分块结果:

    您将被带到分块页面:

    chunks

  2. 将鼠标悬停在每个快照上,可以快速查看每个分块。

  3. 双击分块后的文本以添加关键词或在必要时进行手动更改:

    update chunk

注意

您可以为文件分块添加关键词,以提高其在包含这些关键词的查询中的排名。此操作会增加其关键词权重,并可以提升其在搜索列表中的位置。

  1. 在检索测试中,在测试文本中快速提问,以复核您的配置是否有效:

    从下文可以看出,RAGFlow 会以真实的引文作为回应。

    retrieval test

运行检索测试

RAGFlow 在其聊天中使用了全文搜索和向量搜索的多种召回策略。在设置 AI 聊天之前,请考虑调整以下参数,以确保预期的信息总能出现在答案中:

  • 相似度阈值:相似度低于阈值的分块将被过滤掉。默认设置为 0.2。
  • 向量相似度权重:向量相似度对总分的贡献百分比。默认设置为 0.3。

详情请参阅运行检索测试

retrieval test

搜索知识库

截至 RAGFlow v0.20.0,搜索功能仍处于初级阶段,仅支持按名称搜索知识库。

search knowledge base

删除知识库

您可以删除知识库。将鼠标悬停在目标知识库卡片的三个点上,删除选项就会出现。一旦删除知识库,root/.knowledge 目录下的相关文件夹将自动被移除。其后果是:

  • 直接上传到该知识库的文件将消失;
  • 您从文件管理中创建的文件引用将消失,但相关文件仍然存在于文件管理中。

delete knowledge base