Skip to main content
Version: DEV

配置知识库

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

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

创建知识库

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

create knowledge base

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

配置知识库

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

knowledge base configuration

本节涵盖以下主题:

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

选择分块方法

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

模板描述文件格式
通用基于预设的分块令牌数量连续分块文件。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

  • 如上所示,RAGFlow 允许您为特定文件使用不同的分块方法,提供超出默认方法的灵活性。
  • 如上所示,RAGFlow 允许您启用或禁用单个文件,提供对基于知识库的 AI 聊天的更精细控制。

干预文件解析结果

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

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

    您将被带到分块页面:

    chunks

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

  3. 双击分块文本以添加关键词、问题、标签或在必要时进行手动更改:

    update chunk

注意

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

  1. 在检索测试中,在测试文本中提出一个快速问题以再次检查您的配置是否有效:

    从以下内容可以看出,RAGFlow 用真实的引用进行响应。

    retrieval test

运行检索测试

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

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

有关详细信息,请参阅运行检索测试

搜索知识库

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

search knowledge base

删除知识库

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

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

delete knowledge base