跳到主要内容

🎓 知识库

Xpert AI知识库 是系统的核心组成部分之一,旨在为企业用户提供智能化、动态更新的知识管理解决方案。 通过整合 BI 指标管理、AI 技术以及企业内部外部数据资源,知识库为用户提供精准的信息检索、内容推荐和知识共享功能。

知识库功能介绍

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

1. 文件文本嵌入

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

2. Chunk 检索

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

3. 查询优化

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

4. 文档更新与管理

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

5. 知识库问答

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

6. 扩展与集成

  • 外部数据源集成:可以将知识库与外部数据源(如数据库、API)集成,提供动态的数据查询支持。
  • 向量数据库:(todo)使用像 FAISS、Milvus、Pinecone 这样的向量数据库,能够有效管理和检索大规模的嵌入数据。
    🚧

    开发中

这些功能将帮助 Xpert AI 中的知识检索模块变得更加高效和智能化,特别是在处理大量文件和文本的场景中。你在设计知识库检索时,可以通过选择合适的嵌入模型和向量数据库来优化 Chunk 检索的速度与精度。

知识库详细设置

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

配置项说明
头像知识库的标识图标,通常为 logo 或代表性的图片。
名称知识库的名称,用于标识和区分不同知识库。
描述对知识库的简短描述,概述其内容和用途。
语言知识库使用的主要语言,如中文、英文等。
权限知识库的访问权限设置,选项包括:
- 私有
- 组织内
- 公开
智能助理用于提供文本嵌入功能的智能助理,指明所使用的 AI 提供商。
嵌入模型用于文本嵌入的 AI 模型,依赖于选择的智能助理(即 AI 提供商)。
嵌入批量大小每次处理文本嵌入的数量,影响处理效率和性能。
区块大小将文档分割成 Chunk 的大小,通常以句子或段落为单位。
区块重叠指定相邻 Chunk 之间的重叠部分,以保持上下文连贯性。
相似度阈值在检索文本块时,对结果进行相似度值的过滤,设定一个阈值以决定返回的 Chunk。

文档

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

1. 上传文档

用户可以将各种格式的文档上传到知识库中。支持的文档类型包括:

  • Markdown:用于轻量级标记语言文档,易于阅读和编辑。
  • PDF:便于保存格式固定的文档,适合长篇文章和报告。
  • EPUB:电子书格式,支持多种设备阅读。
  • DOCX:Microsoft Word 文档,广泛用于文本编辑和排版。

2. 文档解析

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

配置项描述
区块大小每个文本块的大小设置(字数或句子数),用于将文档内容拆分成更小的块以便检索。
区块重叠定义相邻文本块之间的重叠字数,确保上下文的连贯性,避免信息丢失。
分隔符定义如何在文档中进行块分隔,例如按段落、换行符或特定字符。

3. 启动解析

一旦配置完成,用户可以启动解析。解析任务将在服务器端运行,系统会执行以下步骤:

  • 读取文档:加载上传的文档,进行格式解析。
  • 提取内容:根据配置的区块大小、区块重叠和分隔符,将文档内容拆分成多个文本块。
  • 嵌入生成:调用 AI 模型为每个文本块生成向量嵌入,以便后续的检索和查询使用。

4. 重新解析或删除文档

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

检索测试

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

参数描述
相似度阈值设定一个最小相似度值,只有检索结果的相似度高于该值,才能被返回。
前多少指定返回的结果数量,系统会根据相似度从高到低排序,返回前 N 个最相关的结果。
输入用户输入的查询文本,用于触发检索功能。系统将分析该输入并计算其与知识库中内容的相似度,以便找到相关的文本块或信息。

功能流程:

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