0帧起手解决 RAG 分段难题!知识库还能这么玩?

大模型向量数据库NoSQL数据库

购买保险时,经常被复杂的理赔条款淹没?

想进行保险理赔, 不知道自己是否符合标准?

对多数人而言,保险条款过于纷繁复杂

以至于想要阅读却不知道应从何处着手

但是,换个思路!

如果将保险条款导入 扣子知识库 使用扣子 上新的“知识库按层级分段”功能 构建保险条款知识库,快速搭建 AI Agent 进行问答 是不是就能够精准快速获得想要的条款内容? 理论成立,实践开始! 如何利用 层级分段功能 构建复杂文件知识库?

以保险条款知识库为例

让我们一起来试试👇

🧩 保险条款知识库构建

  • 首先,准备好你需要查询的保险条款文件。

picture.image

  • 其次,打开扣子,选择文档类型知识库-本地导入的方式,将保险条款文件导入。

第二步创建设置 中,可以看到 按照层级分段 的选项。算法会自动计算层级分段适配度,具备明显结构化特征的文档会出现 推荐选择 的标识。 picture.image

分段配置 中,设置层级为3,默认勾选切片保留层级信息,层级信息将对每个切片都保留标题的信息。

picture.image

picture.image

  • 当你完成前置配置后,点击下一步进入 第三步分段预览 ,在分段预览下就可以看到基于上一步配置后的分段效果。

picture.image

📣 重点来了!扣子知识库层级分段功能支持自主进行拖拽/合并/删除层级。

如果你认为默认解析效果欠佳,可以在分段预览环节,自己手动调整结构化层级结构。

  • 拖拽调整层级结构: 通过拖拽操作,你可以调整段落或章节之间的层级关系和顺序。例如,将一个二级标题拖拽到另一个一级标题下,使其成为新的子章节,或者调整两个同级标题的顺序。
  • 按照层级合并为切片: 你可以右击层级标题,选择合并为一个分段 ,将选定层级及其子层级的所有内容合并为一个分段。例如,选择一个二级标题,系统会将其下的所有三级标题和对应内容合并为一个完整的分段。
  • 删除切片: 右击层级标题或分段内容,选择删除 ,从知识库中移除选定的分段及其所有内容。例如,如果某个章节不再需要,可以直接删除对应的分段,包括其下的所有子层级。

picture.image

完成以上步骤后

你就成功搭建了专属保险条款知识库

那么检索效果如何呢?

让我们一起测试一下👇

🔥 保险知识库检索效果PK

让我们分别使用上新的 “层级分段” 和传统的 “自动分段” 两种不同知识库分段功能构建的保险条款知识库,搭建简单的问答bot,来进行一场检索效果的问答PK!

扣子知识库检索配置:最大召回数量为 3、最小匹配度为 0.5、混合检索、显示来源方式为卡片

picture.image

我们用 两个问题 对比一下

两种分段方式 的检索效果

✍️ ROUND1 问题一:投保人选择分期交付保险费,在交付了首期保险费后,若因经济原因无法按时交付续期保险费,在宽限期内未交付且不想让合同效力中止,还有什么办法?

✨理想回答: 投保人可选择保险费自动垫交功能(若投保时已选择),如果宽限期届满时仍未交付应交保险费,且合同现金价值(如有附加保险合同,则包括附加保险合同现金价值)扣除各项欠款之后的余额等于或大于应交保险费(如有附加保险合同,则包括附加保险合同应交保险费),保险公司将为其自动垫交保险费,合同继续有效。

答案来源:3.6.2 保险费自动垫交 您在订立本合同时选择了自动垫交保险费功能的,如果宽限期届满时您仍未交付应交保险费,且本合同的现金价值(如有附加保险合同,则包括附加保险合同的现金价值)扣除您的各项欠款之后的余额等于或大于您应交的保险费(如有附加保险合同,则包括附加保险合同应交保险费),我们将为您自动垫交保险费,本合同继续有效。

  • 使用层级分段 的bot,可以发现能够 准确召回3.6.2(完整返回3.6),并且正确回答会自动垫交
“层级分段”召回切片“层级分段”模型回答

|

|

  • 使用自动分段 的bot, 未召回3.6.2 (有3.6.2标题字样,但没有具体内容), 且大模型最终回答 也不够准确,还需要参考合同。
“自动分段”召回切片“自动分段”模型回答

|

|

✍️ ROUND2 问题二:如果投保人在宽限期最后一天交付续期保险费,并且在当天发生了保险事故,保险公司会如何处理?

理想回答: 投保人在宽限期最后一天交付保费,属于宽限期内缴费情况,所以保险公司会承担保险责任,在给付保险金时扣除当天交付的续期保险费。

答案来源:3.2. 宽限期 您未按本合同约定日期交付续期保险费的,自该应交付日起 60 日为宽限期。在宽限期内您可以继续交付续期保险费,如果发生保险事故,我们仍按本合同的约定承担保险责任,但在给付保险金时将扣除您欠交的续期保险费。

  • 使用层级分段 的bot,可以发现 切片准确召回3.2 ,并且 正确回答仍然承担保险责任
“层级分段”召回切片“层级分段”模型回答

|

|

  • 使用自动分段 的bot,依然 正确回答仍然承担保险责任 ,但是切片召回的过程夹 杂其他冗余信息比如3.3、3.1,这些信息可能对模型造成干扰
“自动分段”召回切片“自动分段”模型回答

|

|

在我们之后的几轮测试中,使用 层级分段 的bot回复答案的正确率与精准度都一定程度上要 优于 传统自动分段。

所以,如何分段,才能更好地优化检索结果?

如果分段太大,模型检索结果可能包含太多不相关的信息,影响结果的准确性;

如果分段太小,检索结果可能会丢失必要的上下文信息,导致生成的回应缺乏连贯性或深度。

但现在,无需担心 👋

扣子知识库的 层级分段功能

按照文档的组织或层级结构对 RAG 切片

配合人工手动的矫正,能够真正实现合理分段

更清晰的逻辑组织、更优化的信息归类、更方便的引用标识

更好地识别 技术手册、法律文书、金融合同、政策类 等各种文件

“分段难”的问题,就这样迎刃而解🙋

✨ 近期新上功能

除了按照层级分段功能外

扣子知识库近期也 上新了一大波功能

可供开发者们探索使用

让我们一起来看看👇

✨“个人文档写入”助力构建Personal RAG

🏷️ 工作流新增 知识库写入节点 ,用户可以在具体使用过程中上传文档,配合知识库检索节点实现个人文档的问答。更多可拓展的场景(比如AI笔记、论文阅读、模拟面试等)成为可能。

picture.image

比如在扣子商店下的《offer多多》这个应用就基于知识库写入节点搭建,每个人都可以上传自己的过往经历信息,AI将在回答面试问题基于参考文件进行RAG辅助回答。

picture.image

✨ “自定义文档解析”更好控制内容的提取

🏷️ 知识库新增 文档解析策略的配置 ,包括快速解析(仅提取纯文本)和精准解析(提取图片、表格等元素)两种模式。此外,开发者可以对具体页面进行过滤,比如一本书的前言/目录部分可以从文档中剔除。

picture.image

picture.image

✨ 开放更多“RAG检索配置”,增强开发者对效果的调控

🏷️为助力开发者更精准地调控效果,我们将 更多 “RAG 检索配置”白盒化 。包括:

(1)表格数据的 SQL 辅助查询,能让结构化数据查询更高效;

(2)query 查询改写,优化查询语句提升匹配度;

(3)结果重排,合理调整排序使呈现更符合需求

  1. 支持表格类知识库的SQL查询

在进行召时,同步将查询的自然语言转为 SQL 语句进行查询;SQL 执行结果与 RAG 召回段落一同输入给模型。

👇 解决案例:帮我推荐3道销量最高的川菜

  • 传统RAG方案:不好解决,因为RAG如果按照菜名匹配的话,用户输入没有体现菜名。
  • SQL方案:

picture.image

  1. 支持查询改写
    对输入的查询语句进行优化重构,从而能够更准确地捕捉用户意图,提升信息检索的效率。

picture.image 3. 支持结果重排
根据相关性或质量对检索到的文档切片进行重新排序,以提高生成答案的准确性。

picture.image

扣子更多功能上新

逐步进行中🔄

期待大家能够使用扣子的新功能

实现自己的最佳实践!

🙋 扫码加入交流群

picture.image

关注 扣子Coze 公众号 , 获得更多功能上新信息 👇

合作&转载:bd@coze.cn

点击「阅读原文」,即可体验👇

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论