返回顶部
热门问答 更多热门问答
技术文章 更多技术文章
链载Ai 显示全部楼层 发表于 2 小时前 |阅读模式 打印 上一主题 下一主题


前段时间,有用户在试用我们知识问答功能时

问了下面这个问题:生态保护红线内有限人为活动包括哪些?

我们系统回答的效果不好

随后我们检查了知识库并做召回测试,发现输入这个问题只能召回部分内容。

正确答案出自于下面这个文件及段落:

《自然资源部生态环境部国家林业和草原局关于加强生态保护红线管理的通知(试行)》


可以看出,上面这个问题要想回答好,需要结合上下文来回答,因为在答案的上一段提到了有限人为活动,和下面的答案内容没有直接的字眼关联起来。

按照RAG的流程,使用自动分段的话,会造成上下文割裂

而这个问题不结合上下文的话,很难召回全和回答好。

在阿里云百炼测试了下,发现也是回答不全


Anthropic 提出上下文检索

基于以上背景,想到Anthropic提出过上下文检索的方案

于是又回去复习一下之前写的内容:RAG技术落地的两个问题及应对策略

Anthropic分享RAG最佳实践,提到了一种新的文档分块的方式,因为传统的RAG系统有一个显著的限制:它们经常破坏上下文。

Anthropic提出通过在嵌入之前将块特定的解释性上下文附加到每个块之前(“上下文嵌入”)和创建BM25索引(“上下文BM25”)来解决这个问题,再结合重排序来降低检索的失败率。大家有兴趣可以看看他们的实验。


Dify知识库上新了父子检索功能

Dify v0.15.0 版本:在本次更新中,我们在 RAG 中引入了「父子检索」这一功能,为 LLM 应用提供更精确且全面的上下文检索策略:子块:将文档内容拆分成更小、聚焦的片段,用于精准匹配用户问题。父块:当子块匹配成功后,系统会同时检索包含这些子块的父块,补充更广泛的背景信息。

通过这套机制,Dify 不仅能快速找到所需内容,也能避免因信息过于零散或过度概括而造成的遗漏或混淆。无论是客户支持还是企业知识库问答场景,都能为您的 AI 应用提供更可靠、有依据的回答。
父子分段有两种方式,一种是父块按照段落,另一种是全文一个父块,其余全是子块。



实测:采用整篇文档一个父块,其余全是子块效果更好。

同样的问题,采用父子检索后,回答结果基本和原文一样。

扣子(coze)知识库按层级分段功能

按层级分段的意思是可以按照文档的一级标题、二级标题、三级标题进行分段。

拖拽调整层级结构: 通过拖拽操作,你可以调整段落或章节之间的层级关系和顺序。例如,将一个二级标题拖拽到另一个一级标题下,使其成为新的子章节,或者调整两个同级标题的顺序。

按照层级合并为切片: 你可以右击层级标题,选择合并为一个分段,将选定层级及其子层级的所有内容合并为一个分段。例如,选择一个二级标题,系统会将其下的所有三级标题和对应内容合并为一个完整的分段。

删除切片: 右击层级标题或分段内容,选择删除,从知识库中移除选定的分段及其所有内容。例如,如果某个章节不再需要,可以直接删除对应的分段,包括其下的所有子层级。

还是以《自然资源部生态环境部国家林业和草原局关于加强生态保护红线管理的通知(试行)》文件为例进行上传。

上传好以后,构建一个问答应用进行测试,效果如下:

可以看到,扣子的按层级分段也能比较好的解决这个问题。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ