🎓 知识库
Xpert AI 的 知识库 是系统的核心组成部分之一,旨在为企业用户提供智能化、动态更新的知识管理解决方案。 通过整合 BI 指标管理、AI 技术以及企业内部外部数据资源,知识库为用户提供精准的信息检索、内容推荐和知识共享功能。
知识库功能介绍
在 AI 对话知识检索中,知识库的核心功能通常包括文件文本嵌入、Chunk(块)检索、查询优化和实时更新等。以下是常见的功能,特别针对文件文本嵌入和 Chunk 检索做了重点介绍:
1. 文件文本嵌入
- 文本向量化:使用深度学习模型(如 BERT、OpenAI Embeddings)将文本嵌入成高维向量,使其可以通过向量检索进行相似度匹配。这是知识库实现快速检索的基础,适用于各种文本类型,如文档、网页、FAQ等。
- 多语言支持:针对不同语言的文本,使用相应的嵌入模型,确保多语言检索的准确性。
- 数据预处理:对文件中的文本进行清洗、分词、去噪等操作,为嵌入生成高质量的向量。
- 上下文感知嵌入:确保嵌入模型能识别文本中的上下文,提升对话中回答的准确度。
2. Chunk 检索
- 文档分块(Chunking):将大文档分成更小的块(Chunk),以便提高检索的精度和效率。每个 Chunk 通常是几句话或一段文本,这样可以确保在检索过程中,系统能找到最相关的具体信息,而不是整篇文档。
- Chunk 的嵌入与索引:为每个 Chunk 生成独立的向量,并存储到向量数据库中进行索引。这样可以让系统在检索时,迅速找到与用户查询最相似的 Chunk。
3. 查询优化
- 语义检索:通过语义搜索技术,将用户查询转化为向量,与已嵌入的知识库内容进行相似度匹配。与传统关键字检索相比,语义检索能更好理解用户意图。
- 模糊匹配:即使查询与文档中的表述不完全一致,系统依然能够通过向量相似性返回相关结果。
- 搜索结果重排序:(todo)对返回结果进行重新排序,确保最相关的答案排在最前面。这通常基于向量相似度分数或其他用户交互数据(如点击率)。
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 个最相关的结果。 |
输入 | 用户输入的查询文本,用于触发检索功能。系统将分析该输入并计算其与知识库中内容的相似度,以便找到相关的文本块或信息。 |
功能流程:
- 输入:用户在输入框中输入查询内容。
- 相似度计算:系统将用户输入文本向量化,并与知识库中所有文本块进行相似度计算。
- 过滤:根据设定的相似度阈值,过滤掉相似度低于阈值的文本块。
- 排序:对剩余的文本块进行相似度排序,返回最相关的结果。
- 返回结果:系统根据“前多少”的设置,返回指定数量的检索结果。