前置条件
- 完成注册账号及开通服务。
- 完成子账号创建及策略配置。
- 在控制台中找到 【VikingDB】,点击知识库,进入知识库产品。
1、创建知识库
打开知识库页面后,进入知识库列表。单击知识库列表页面右上角的【新建知识库】。
在创建知识库页面填写相关参数,参数配置建议如下:
- 数据类型:支持选择【非结构化数据】/【结构化数据】,其中【非结构化数据】对应的文件主要内容为文本和图表,如文章、报告、书籍等,支持 faq.xlsx、docx、pptx、pdf、markdown、txt 格式。【结构化数据】的文件主要内容为结构化文本,需具备明确的字段约束,如问答总结、政策条款、数据收集等,支持 csv、xlsx、jsonl 格式。
- 文本向量化模型:通常建议采用【Doubao-embedding+多功能版】向量化模型,可使用混合检索能力提高召回准确率,更多关于“混合检索”的说明,可参考:【知识库】稀疏+稠密向量混合检索。
- 向量维度:通常维度越高,检索越准确。除非有极高性能要求和超大规模数据量,方可考虑降维。
当数据类型为“非结构化数据”时,需配置“切片方式”
- 切片方式:通常建议使用【默认切片规则】,系统会自动保留完整语义进行切片;若文档有非常明确的分片规则(如换行分段),需采用【自定义切片规则】。
- 当切片方式选择了【默认切片规则】时,需配置:
- 切片最大长度:当选择“默认切片规则”时,需指定切片最大长度。长度设置往往与所上传文档的信息密度有关。(当信息密度较大,且上下文关联性较小时,切片长度往往可以设置的小一些,以独立内容的长度为基准,如 200-500 左右。如政策信息、热点新闻、法律法规等;当信息密度较小,需要较多上下文关联信息时,切片长度往往可以适当放大,但不宜过大,如 800-1000 左右。如产品说明书、小说、论文等。)
- 图片 OCR :需要对文档中的图片内容进行识别,增强大模型的信息输入时,可开启【图片 OCR】开关,更多图片检索召回说明可参考 【知识库】文档图片检索增强生成
- 合并短文本片:按语义切片可能会产生部分独立短文本片,可能会导致切片字符数分布不均,较短无关的文本片 与 较长相关的文本片,在相似度计算上,拉不开差距。因此,可开启【合并短文本片】功能,尽量保证切片长度分布均匀,提高召回准确性。
- 当切片方式选择了【自定义切片规则】时,仅支持按照固定分割符切片:
- 按固定分割符号切片:支持选择已有分割符或自定义分割符,比如文档内容是比较明确的法律条款,每一行为一个单独切片,可设置 “\n” 作为分割符。
当数据类型为“结构化数据”时,需配置“字段配置”
- 字段配置:字段配置是用来指定结构化数据的索引
- 上传文档:系统支持自动识别文档表结构,请注意此处上传的文档仅用来定义表结构,不会真实传入知识库
- 表结构:支持指定以“第几行”/“第几列”作为表头字段,其中“向量索引”为“是”即可以用作检索匹配,为“否”仅可用于标量过滤
- CPU 配额:CPU 配额与检索的 QPS 需求有关,通常 1 CU = 100 QPS
- 标签:标签可用于后续对所传文档进行分类,在检索时可以优先对文档类型进行过滤,再对文档内容进行检索,降低检索成本和时延。(如设置检索过滤字段为 “permission”,上传文档后,可设定文档 1 的 “permission” == “内部”,文档 2 的 “permission” == “公开”。在检索测试时,即可配置检索范围为 “文档权限” 包含 “内部” 的全部文档,实现不同用户在文档问答时可分级管理模型参考内容)
填写完成后单击右侧【创建知识库】
2、导入文档
创建知识库后,可按照引导进行文档上传。知识库支持 本地上传 / TOS 导入(需先购买 TOS 并进行授权)/ 公开下载链接 的方式进行文档上传。
- 通常当本地有较多数据(>100)需要批量导入时,建议优先考虑将数据上传至 TOS,再导入知识库。
3、处理结果
点击【处理结果】可查看切片内容,可检查但不限于以下几个维度:
(1)切片结果是否是较为完整的语义
(2)切片结果字符数量分布是否比较均匀
(3)切片结果是否正确识别了图片信息
若不满足预期,可重新调整切片规则 或 对原始文档进行更加规范化的加工
4、检索生成
当文档处理完成后,可点击【检索测试】进行调试
除文档处理外,检索策略配置同样对召回效果起着至关重要的影响。
切片检索参数配置如下:
- 返回文本片数量:检索召回的最终切片数量,召回的文本片将作为输入,拼接送入大模型实现信息增强。
- 重排模型:将用户问题和召回切片通过大模型,进行语义化重排,提高准确切片的召回位次和得分。
- 召回数量:仅当开启重排模型时,需要配置“召回数量”。通常情况下,“召回数量”要大于“返回文本片数量”,即尽可能多的把相似切片召回,再通过重排+截断,控制最终进入大模型的切片为最精准的小部分切片。
- <更多参数-denseweight>:当采用混合检索模式时,denseweight 参数可以调整语义化检索比重,denseweight = 1,即为全语义化检索。
- <更多参数-标量过滤>:配合创建知识库时的标量过滤字段使用。如可配置检索范围为 “文档权限” 包含 “内部” 的全部文档,从而解决不同用户在文档问答时可分级管理模型参考内容
切片检索时,召回的切片将按照位次进行依次展示,可直观查看切片是否正确,得分是否符合预期。
大模型参数配置如下:
- 模型选择:建议选择“Doubao-pro-32k”模型,"pro" 代表高精度,“lite” 代表高性能,数字大小代表大模型输入输出窗口长度
- 拼接临近文本片数量:当单切片字符数较小时,为避免上下文信息丢失,可以通过配置临近文本片拼接,将更全量的信息输入给大模型。如,召回切片为 chunk 8 时,”拼接临近文本片“ == 1 时,最终会将 chunk 7,chunk 8,chunk 9 进行拼接,输入大模型
- 编写 prompt:系统提供了默认 prompt,也可以根据实际对话需要,给出更加具体的回答要求。如“请使用尽量专业的术语进行回答”
大模型回答时,会根据召回切片进行总结,并给出引用知识的参考信息
还可点击【召回详情】可以查看更为详细的回答引用信息,辅助定位问题
点击 【tokens】详情可查看整个问答过程中的 tokens 消耗