跳到主要内容

配置知识库

知识库、无幻觉聊天和文件管理是RAGFlow的三大支柱。RAGFlow的AI聊天基于知识库构建。每个RAGFlow的知识库充当一个知识来源,将从本地机器上传的文件以及文件管理生成的文件引用解析为未来的AI聊天所需的真实“知识”。本指南演示了知识库功能的一些基本用法,涵盖了以下主题:

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

创建知识库

通过使用多个知识库,您可以构建更灵活、多样化的问答系统。要创建您的第一个知识库,请参见下图。

创建知识库

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

配置知识库

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

知识库配置

本节涵盖了以下主题:

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

选择分块方法

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

模板描述文件格式
General根据预设的分块标记数量连续分块文件。MD, MDX, DOCX, XLSX, XLS (Excel 97-2003), PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF, CSV, JSON, EML, HTML
Q&AXLSX, XLS (Excel 97-2003), CSV/TXT
Resume仅限企业版。您也可以在 demo.ragflow.io 上试用。DOCX, PDF, TXT
ManualPDF
TableXLSX, XLS (Excel 97-2003), CSV/TXT
PaperPDF
BookDOCX, PDF, TXT
LawsDOCX, PDF, TXT
PresentationPDF, PPTX
PictureJPEG, JPG, PNG, TIF, GIF
One每个文档均作为一个整体分块。DOCX, XLSX, XLS (Excel 97-2003), PDF, TXT
Tag知识库作为其他知识的标签集发挥作用。XLSX, CSV/TXT

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

更改分块方法

选择嵌入模型

嵌入模型将数据块转换为嵌入。一旦知识库中包含数据块,则该模型无法更改。要切换到不同的嵌入模型,必须删除知识库中的所有现有数据块。显而易见的原因是,我们必须确保特定的知识库中的文件使用相同的嵌入模型进行转录(确保它们在同一个嵌入空间内比较)。

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

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

这两个嵌入模型专门为英语和中文优化,因此如果使用它们来为其他语言的文档生成嵌入,则性能可能会受到影响。

上传文件

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

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

解析文件

文件解析是知识库配置中的一个关键主题。在 RAGFlow 中,文件解析有两个含义:根据文件布局对文件进行切分,并在此基础上构建嵌入和全文(关键字)索引。选择好切分方法和嵌入模型之后,您可以开始解析文件:

解析文件

  • 单击未开始旁边的播放按钮以启动文件解析。
  • 如果您的文件解析长时间停滞,可以单击红色叉号图标并刷新页面。

如上图所示,RAGFlow 允许您为特定文件使用不同的切分方法,从而提供比默认方法更灵活的选择。另外,还可以选择启用或禁用单独的文件,从而在基于知识库的人工智能聊天中提供更多控制权。

干预文件解析结果

RAGFlow 提供了可见性和可解释性功能,允许您查看切块的结果并在必要时进行干预:

  1. 单击完成文件解析的文件以查看切片结果:

    这将带您进入数据片段页面:

    数据片段

  2. 鼠标悬停在每个快照上以快速查看每个数据片段。

  3. 双击切分的文本,添加关键字或在必要时进行手动更改:

    更新数据片

注意

您可以在文件片段中添加关键字以增加其排名,当查询包含这些关键字时,这会提高它的关键词权重,并可能改善它在搜索结果中的位置。

  1. 在检索测试中,在测试文本中提出快速问题,以确认配置是否有效:

    如以下所示,RAGFlow 用真实的引用回应您的提问。

    检索测试

运行检索测试

RAGFlow 使用全文搜索和向量搜索的多重召回技术。在设置人工智能聊天之前,请考虑调整以下参数,以确保所需的信息始终出现在答案中:

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

详情参见运行检索测试

检索测试

搜索知识库

截至 RAGFlow v0.20.3 版本,搜索功能仍然处于初步阶段,仅支持通过名称进行知识库搜索。

搜索知识库

删除知识库

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

  • 直接上传到知识库的文件会被删除;
  • 您在文件管理中创建的文件引用将被删除,但关联的文件仍然存在于文件管理中。

delete knowledge base