跳转到主要内容
在 AI 对话知识检索中,知识库的核心功能通常包括文件文本嵌入、Chunk(块)检索、查询优化和实时更新等。以下是常见的功能,特别针对文件文本嵌入和 Chunk 检索做了重点介绍:

1. 文件文本嵌入

  • 文本向量化:使用深度学习模型(如 BERT、OpenAI Embeddings)将文本嵌入成高维向量,使其可以通过向量检索进行相似度匹配。这是知识库实现快速检索的基础,适用于各种文本类型,如文档、网页、FAQ等。
  • 多语言支持:针对不同语言的文本,使用相应的嵌入模型,确保多语言检索的准确性。
  • 数据预处理:对文件中的文本进行清洗、分词、去噪等操作,为嵌入生成高质量的向量。
  • 上下文感知嵌入:确保嵌入模型能识别文本中的上下文,提升对话中回答的准确度。

2. Chunk 检索

  • 文档分块(Chunking):将大文档分成更小的块(Chunk),以便提高检索的精度和效率。每个 Chunk 通常是几句话或一段文本,这样可以确保在检索过程中,系统能找到最相关的具体信息,而不是整篇文档。
  • Chunk 的嵌入与索引:为每个 Chunk 生成独立的向量,并存储到向量数据库中进行索引。这样可以让系统在检索时,迅速找到与用户查询最相似的 Chunk。 Rag indexing

3. 查询优化

  • 语义检索:通过语义搜索技术,将用户查询转化为向量,与已嵌入的知识库内容进行相似度匹配。与传统关键字检索相比,语义检索能更好理解用户意图。
  • 模糊匹配:即使查询与文档中的表述不完全一致,系统依然能够通过向量相似性返回相关结果。
  • 搜索结果重排序:(todo)对返回结果进行重新排序,确保最相关的答案排在最前面。这通常基于向量相似度分数或其他用户交互数据(如点击率)。 Rag retrieval

4. 文档更新与管理

  • 实时更新:支持知识库的动态更新,保证最新信息可以及时被检索到。自动化的文档上传与嵌入更新流程,确保知识库内容始终是最新的。
  • 文档类型支持:知识库通常支持多种文档格式,包括 PDF、Word、Markdown、纯文本等,确保能够从不同的文档源导入知识。
  • 元数据管理:(todo)为文档和 Chunk 添加元数据(如创建时间、文档类型、作者等),使系统可以通过元数据进行更精确的检索。

5. 知识库问答

  • 基于文档的 QA 系统:通过检索出的文本 Chunk,结合 GPT 等模型,生成直接的答案,回答用户的问题。这种方法通常能提供基于事实、准确的回答。
  • 逐步问答与上下文跟踪:系统能够在连续对话中保留上下文,提供更连贯的回答,并根据之前的对话调整检索结果。

6. 扩展与集成

  • 外部数据源集成:可以将知识库与外部数据源(如数据库、API)集成,提供动态的数据查询支持。
  • 向量数据库:(todo)使用像 FAISS、Milvus、Pinecone 这样的向量数据库,能够有效管理和检索大规模的嵌入数据。 :::warning 🚧 开发中 :::
这些功能将帮助 Xpert AI 中的知识检索模块变得更加高效和智能化,特别是在处理大量文件和文本的场景中。你在设计知识库检索时,可以通过选择合适的嵌入模型和向量数据库来优化 Chunk 检索的速度与精度。

知识库详细设置

下面是关于知识库设置的详细配置:

文档

以下是文档和解析功能的详细介绍,包括上传文档、文档解析以及相关操作的配置:

1. 上传文档

用户可以将各种格式的文档上传到知识库中。支持的文档类型包括:
  • Markdown:用于轻量级标记语言文档,易于阅读和编辑。
  • PDF:便于保存格式固定的文档,适合长篇文章和报告。
  • EPUB:电子书格式,支持多种设备阅读。
  • DOCX:Microsoft Word 文档,广泛用于文本编辑和排版。

2. 文档解析

上传的文档需要进行解析,以便将其内容提取并存储到知识库中。解析过程可进行以下配置:

3. 启动解析

一旦配置完成,用户可以启动解析。解析任务将在服务器端运行,系统会执行以下步骤:
  • 读取文档:加载上传的文档,进行格式解析。
  • 提取内容:根据配置的区块大小、区块重叠和分隔符,将文档内容拆分成多个文本块。
  • 嵌入生成:调用 AI 模型为每个文本块生成向量嵌入,以便后续的检索和查询使用。

4. 重新解析或删除文档

  • 重新解析:用户可以随时选择重新解析某个文档,更新其配置或内容。这将重新执行解析过程,并替换旧的文档块。
  • 删除文档:用户可以删除不再需要的文档,系统将自动删除与之关联的所有文档块。这确保了知识库内容的整洁和准确性。

检索测试

检索测试功能用于验证知识库的检索效果和准确性,确保系统能够有效地从知识库中获取相关信息。以下是该功能的详细参数介绍:

功能流程:

  1. 输入:用户在输入框中输入查询内容。
  2. 相似度计算:系统将用户输入文本向量化,并与知识库中所有文本块进行相似度计算。
  3. 过滤:根据设定的相似度阈值,过滤掉相似度低于阈值的文本块。
  4. 排序:对剩余的文本块进行相似度排序,返回最相关的结果。
  5. 返回结果:系统根据“前多少”的设置,返回指定数量的检索结果。