Skip to content

知识库模块使用文档

概述

知识库模块是一个强大的企业级知识管理和智能检索系统,帮助您将各类文档(如产品手册、技术文档、FAQ问答等)转化为可被AI智能检索的知识资产。通过先进的混合检索技术,系统能够精准理解您的查询意图,快速找到最相关的内容。

核心特点:

  • 支持多种文档格式:TXT、Markdown、PDF、DOCX、HTML、Excel等
  • 智能混合检索:结合向量检索、全文检索和精确匹配
  • 中英文双语支持:自动识别语言,智能选择分词策略
  • 精准相关性:通过Rerank重排序提升结果质量

一、知识库配置

1.1 创建知识库模块

在应用设计器中,选择"知识库"模块类型,系统会自动创建知识库模块。

1.2 基本配置

向量模型配置

向量模型用于将文本转换为数值向量,是实现语义搜索的核心。配置位置:团队设置 → AI模型配置 → 向量模型

目前常用的向量模型:

模型名称维度适用场景性能特点
text-embedding-3-small1536通用文本检索平衡性能与准确度,推荐使用
text-embedding-3-large3072高精度检索更高准确度,略慢
text-embedding-ada-0021536通用检索OpenAI经典模型

配置方法:

  1. 进入"团队设置" → "团队成员" → "AI模型"
  2. 找到"向量模型"配置区域
  3. 填写向量模型名称(如:text-embedding-3-small)
  4. 填写向量模型API地址(如:https://api.apiyi.com/v1/embeddings)
  5. 点击"保存"

向量模型配置


二、检索设置

知识库提供三种检索模式,您可以根据业务需求选择最合适的策略。

2.1 向量检索

特点: 基于语义理解,能够找到意思相近但表述不同的内容

适用场景:

  • 概念性查询:"什么是向量检索?"
  • 意图理解:"如何提升检索准确度"
  • 跨语言检索

配置项:

  • 无需额外配置,选择"向量检索"即可

2.2 全文检索

特点: 基于关键词精确匹配,速度快,适合已知关键词的查询

适用场景:

  • 精确关键词:"PostgreSQL配置"
  • 专业术语:"RRF算法"
  • 特定名称:"用户登录接口"

配置项:

  • 无需额外配置,选择"全文检索"即可

2.3 混合检索

特点: 结合向量检索和全文检索的优势,使用RRF算法智能融合结果

适用场景:

  • 最通用的选择,适合绝大多数检索需求
  • 既需要语义理解,又需要关键词匹配
  • 不确定查询类型时的最佳选择

工作原理:

  1. 同时执行向量检索和全文检索
  2. 使用RRF(倒数排名融合)算法合并结果
  3. 对精确匹配的内容额外加成
  4. 返回综合排序后的最优结果

配置项:

语义权重滑块(0.0 - 1.0)

控制向量检索和全文检索的权重比例

推荐值说明适用场景
0.5(默认)平衡语义和关键词通用场景,推荐使用
0.3偏向关键词匹配已知准确关键词,需要精确结果
0.7偏向语义理解概念性查询,需要理解意图

使用建议:

  • 技术文档查询:0.4 - 0.5
  • 代码库搜索:0.3 - 0.4
  • FAQ问答:0.5 - 0.6
  • 产品手册:0.5

Rerank 模型

Rerank是一个专门的重排序模型,用于在初步检索结果的基础上,重新评估每个结果与查询的相关性,将最相关的内容排在前面。

目前常用的Rerank模型:

模型名称适用场景性能特点
rerank-multilingual-v3.0多语言重排序支持中英文混合,准确度高
rerank-english-v3.0英文重排序专门优化英文,速度快
bge-reranker-v2-m3通用重排序开源模型,性价比高

配置方法:

  1. 在"混合检索"区域,开启"Rerank 模型"开关
  2. 在"团队设置" → "AI模型配置"中配置重排序模型
  3. 填写重排序模型名称(如:rerank-multilingual-v3.0)
  4. 系统会自动扩大候选集(通常3倍),然后使用Rerank精选结果

注意事项:

  • 启用Rerank会略微增加响应时间
  • 显著提升结果相关性,推荐对结果质量要求高的场景使用
  • 需要先在团队设置中配置Rerank模型才能使用

Top K

设置返回结果的数量,默认为5。

设置值适用场景
3-5一般查询,快速获取答案
6-10需要更多候选结果
10+探索性搜索,不推荐设置过大

使用建议:

  • 如果启用了Rerank,系统会自动扩大候选集为 Top K × 3

Score 阈值(相对阈值)

相对阈值过滤是一种智能的结果过滤策略,基于最高分的百分比进行过滤,而不是使用固定分数线。

工作原理:

动态阈值 = 最高分 × 阈值比例

示例:
最高分 = 0.85
阈值设置 = 0.5
动态阈值 = 0.85 × 0.5 = 0.425
只保留分数 ≥ 0.425 的结果
推荐值说明适用场景
0.5保留最高分50%以上的结果通用场景,平衡相关性和召回率
0.3保留最高分30%以上的结果召回优先,希望看到更多候选
0.7保留最高分70%以上的结果精准优先,只要最相关的内容

使用建议:

  • 开启Score阈值开关
  • 拖动滑块调整阈值比例
  • 如果结果太少,降低阈值;如果结果质量不高,提高阈值

三、文档管理

3.1 上传文档

  1. 进入知识库模块
  2. 点击"添加文档"或"上传文本文件"
  3. 选择文件上传
  4. 系统自动开始处理

支持的文件格式:

  • 文本类:TXT、Markdown(.md)、HTML等
  • 文档类:PDF、Word(.docx)等
  • 表格类:Excel(.xlsx、.xls)、CSV等

支持的文件大小: 目前仅支持上传15M及以下大小的文档

3.2 文档类型选择

上传文档时,可以选择文档类型以获得最佳的分块效果:

文档类型说明父块大小子块大小适用文档
默认文档类型通用文本、文章、报告1000字符300字符产品手册、技术文章
代码文档保护代码完整性2000字符600字符Java、Python代码
API文档按接口路径切分1800字符500字符OpenAPI、Swagger
Markdown按标题层级切分1500字符400字符技术博客、README
FAQ/对话问答对独立600字符200字符客服问答
长文章段落连贯性1500字符400字符新闻、论文
数据库表按表结构切分2000字符500字符表结构、DDL
Excel表格按Sheet切分1800字符450字符数据报表

父子分块说明:

  • 父块:保留完整上下文,用于理解整体语义
  • 子块:提取关键信息片段,用于精准检索
  • 检索时:匹配子块,返回时可以包含父块上下文

3.3 父子分块作用上下文

父块用于检索时:使用父块模式时,子块用于检索,父块用于上下文

使用场景:

查询:"如何创建数据库用户?"

匹配的子块:
"创建用户使用 CREATE USER 命令"

返回的父块上下文:
"PostgreSQL用户管理
创建用户使用 CREATE USER 命令
语法:CREATE USER username WITH PASSWORD 'password'
示例:CREATE USER admin WITH PASSWORD '123456'
注意:新创建的用户默认没有任何权限"

配置方法:

段落用作上下文:

  • 分段标识符:\n\n(两个换行符,表示段落分隔)
  • 分段最大长度:1000字符(父块大小)

子块用于检索:

  • 分段标识符:\n(一个换行符)
  • 分段最大长度:300字符(子块大小)

使用建议:

  • 对于技术文档,保持默认配置即可
  • 对于特殊格式文档,可自定义分隔符
  • 父块大小影响上下文完整性,子块大小影响检索精度

3.4 文档状态

状态说明
已完成文档处理成功,可以检索
处理中文档正在处理,请稍候
失败处理失败,请检查文档格式或重新上传

处理流程:

  1. 文档解析:提取文本内容
  2. 智能分块:按照文档类型进行分块
  3. 向量化:将文本转换为向量
  4. 建立索引:创建全文检索和向量检索索引
  5. 完成:文档可以被检索

四、使用知识库

4.1 在AI对话中使用

知识库创建完成后,AI助手中添加知识库插件:

示例对话:

用户:"如何配置Nginx反向代理?"

AI(自动查询知识库):
根据知识库中的文档,配置Nginx反向代理的步骤如下:

1. 打开Nginx配置文件 /etc/nginx/nginx.conf
2. 在http块中添加以下配置:
   
   server {
       listen 80;
       server_name your-domain.com;
       
       location / {
           proxy_pass http://backend-server:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
       }
   }

3. 重启Nginx服务:sudo systemctl restart nginx

(来源:Nginx配置手册.pdf)

4.2 检索效果示例

场景1:技术文档查询

查询:"创建postgres用户"

检索结果:
1. 文档:PostgreSQL管理手册
   内容:创建PostgreSQL用户使用CREATE USER命令...
   相关度:0.89

2. 文档:数据库用户权限配置
   内容:用户创建后需要分配相应权限...
   相关度:0.76

场景2:FAQ查询

查询:"忘记密码怎么办"

检索结果:
1. 文档:常见问题
   内容:Q: 忘记密码怎么办?
         A: 点击登录页面的"忘记密码"链接...
   相关度:0.95

2. 文档:账号安全指南
   内容:密码重置流程...
   相关度:0.81

场景3:代码查询

查询:"JWT认证实现"

检索结果:
1. 文档:认证模块代码
   内容:public class JWTAuthService {
            public String generateToken(User user) {...}
         }
   相关度:0.92

五、最佳实践

5.1 文档准备建议

文档质量:

  • 使用清晰的标题和段落结构
  • 避免过多格式化(粗体、斜体适度使用)
  • 代码使用代码块标记
  • 保持文档内容完整,避免过度分散

文档组织:

  • 相关内容放在同一文档中
  • 使用有意义的文件名
  • 技术文档选择对应的文档类型

5.2 检索策略推荐

不同场景的推荐配置:

场景检索模式语义权重Score阈值Rerank
技术文档库混合检索0.50.5开启
产品手册混合检索0.50.5可选
FAQ问答混合检索0.50.7开启
代码库混合检索0.40.5开启
政策文件全文检索-0.6可选
创意内容向量检索-0.3可选

5.3 性能优化建议

提升检索速度:

  • 合理设置Top K值(5-10为宜)
  • 仅在必要时启用Rerank
  • 定期清理无用文档

提升检索准确度:

  • 启用Rerank重排序
  • 合理设置Score阈值
  • 选择合适的文档类型
  • 保持文档内容质量

六、常见问题

为什么查询返回结果很少或没有结果?

可能原因:

  • Score阈值设置过高,过滤了大部分结果
  • 文档内容与查询不匹配
  • 文档还在处理中

解决方法:

  • 降低Score阈值(从0.7降到0.5或0.3)
  • 检查文档是否已处理完成
  • 尝试使用不同的关键词查询
  • 关闭Score阈值开关

中文查询效果不好?

解决方法:

  • 确保文档内容质量良好
  • 尝试使用混合检索模式
  • 适当提高语义权重(0.6-0.7)

如何提升检索准确度?

推荐操作:

  1. 启用Rerank模型
  2. 使用混合检索模式
  3. 合理设置Score阈值(0.5左右)
  4. 选择合适的文档类型
  5. 保持文档内容结构清晰

如何配置向量模型和Rerank模型?

配置步骤:

  1. 进入"团队设置"
  2. 选择"团队成员" → "AI模型"
  3. 找到"向量模型"区域:
    • 向量模型名称:text-embedding-3-small
    • 向量模型API地址:(根据供应商提供)
  4. 找到"重排序模型"区域(如果需要Rerank):
    • 重排序模型名称:rerank-multilingual-v3.0
    • 重排序模型API地址:(根据供应商提供)
  5. 点击"保存"

什么时候应该使用父块上下文?

推荐使用场景:

  • 代码查询(需要看完整函数)
  • API文档(需要看完整接口定义)
  • 技术教程(需要理解前后步骤)
  • 长文解读(需要完整段落)

不推荐场景:

  • FAQ简短问答
  • 关键词查询
  • 只需要片段信息的场景