首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏AI智能体从入门到实践

    构建AI智能体:优化 RAG 检索精度:深入解析 RAG 中的五种高级切片策略

    前面几篇文章已经深入讨论过LangChain、RAG架构的细节,对RAG有了基础的了解,今天重点梳理一下RAG切片策略;一、什么是RAG切片 给定一个场景,我们有一本非常厚的百科全书 RAG切片策略,就是帮我们把这本厚厚的书,提前拆分成一页一页、或者一段一段的“小纸片”,并给这些小纸片做好详细的“目录”和“标签”,做成一个高效的“索引”或者“目录”,当AI助手需要回答问题时,它不需要去翻整本书 不同的切片策略,就是做“目录”的不同方法。 所以,到底什么是RAG切片RAG切片就是把一份长长的文档(如PDF、Word),合理地切割成一个个小块(Chunks)的过程。 ]}...LLM高级语义切片生成 6切片:LLM语义块 1 (长度: 57): 迪士尼乐园提供多种门票类型以满足不同游客需求。一日票是最基础的门票类型,可在购买时选定日期使用,价格根据季节浮动。 用不同的策略和参数(大小、重叠)处理你的文档。 运行你的RAG管道,评估答案的质量。评估答案是否准确?检索到的上下文是否真正相关? 迭代优化:选择效果最好的那种策略

    1.4K32编辑于 2025-11-11
  • 来自专栏#大模型热点基础知识

    什么是RAG文档切分策略

    文档切分策略,就是解决这个平衡问题的关键艺术。在RAG系统中,文档切分不只是简单的"砍一刀",它直接影响检索的准确性和生成答案的质量。 二、什么是RAG文档切分策略RAG文档切分策略是将大型文档分割成适合检索和生成的小块(chunks)的方法论。 三、RAG文档切分策略如何工作文档切分策略主要包含三种核心方法,每种都有其独特的工作机制和适用场景。 流式切分技术能够在文档新增时动态调整chunk边界,避免全量重建索引,这对大规模RAG系统至关重要。多模态文档切分:随着RAG从文本扩展到图片、表格、视频,切分策略也需要演进。 六、总结与思考RAG文档切分策略的本质,是在检索效率与语义完整之间寻找动态平衡的艺术。

    27420编辑于 2026-04-02
  • 来自专栏无题~

    MapReduce之 FileInputFormat的切片策略(默认)

    ①获取当前输入目录中所有的文件 ②以文件为单位切片,如果文件为空文件,默认创建一个空的切片 ③如果文件不为空,尝试判断文件是否可切(不是压缩文件,都可切) ④如果文件不可切,整个文件作为1片 ⑤如果文件可切 ArrayList<InputSplit>(); // 获取当前Job输入目录中所有文件的状态(元数据) List<FileStatus> files = listStatus(job); // 以文件为单位进行切片 blkLocations = fs.getFileBlockLocations(file, 0, length); } // 判断当前文件是否可切,如果可切,切片 } } else { //Create empty hosts array for zero length files // 如果文件是个空文件,创建一个切片对象 ,这个切片从当前文件的0offset起,向后读取0个字节 splits.add(makeSplit(path, 0, length, new String[0])); }

    69140发布于 2020-07-21
  • RAG—Chunking策略实战|得物技术

    一、背 景在 RAG 系统中,即便采用性能卓越的 LLM 并反复打磨 Prompt,问答仍可能出现上下文缺失、事实性错误或拼接不连贯等问题。 某种意义上,分块质量几乎决定了RAG的性能上限——它决定知识是以连贯的上下文呈现,还是退化为无法拼合的碎片。 separators(由粗到细,按需裁剪):章节/标题:正则 r"^#{1,6}\s"(Markdown 标题)、r"^\d+(. 结构化文本分块分块策略以标题层级(H1–H6、编号标题)或语义块(段落、列表、表格、代码块)为此类型文档的天然边界,对过长的结构块再做二次细分,对过短的进行相邻合并。 目标:为RAG检索创建高内聚、可追溯的块。

    1.1K10编辑于 2025-10-30
  • 来自专栏咸鱼的进阶学习之路

    【初识Go】| Day6 数组、切片

    d\n", value) } 多维数组 与其他语言一样,go语言也可以定义多维数组,可以选择的定义方式如下: var arr4 = [5][5]int{ {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, } 输出当前数组,可以看到数组内的值如下所示 [[1 2 3 4 5] [6 7 8 9 10] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0]] var s5 []int 切片操作 我们可以通过如下的方式在数组和切片上继续获取切片 func main() { arr := [5]int{1, 2, 3, 4, 5} s := []int{6, func main() { a := []int{1, 2, 3} b := a[1:3] b = append(b, 4) b = append(b, 5) b = append(b, 6) b = append(b, 7) fmt.Println(a) fmt.Println(b) } 程序输出结果如下 [1 2 3] [2 3 4 5 6 7] 如果想要将两个切片进行拼接可以使用如下这种方式

    70800发布于 2020-12-23
  • 来自专栏kwai

    Go切片Silce底层实现和扩容策略(旧版)

    上图是用 make 函数创建的一个 len = 4, cap = 6切片。内存空间申请了6个 int 类型的内存大小。由于 len = 4,所以后面2个暂时访问不到,但是容量还是在的。 不管是使用 nil 切片还是空切片,对其调用内置函数 append,len 和 cap 的效果都是一样的。 三 切片扩容 当一个切片的容量满了,就需要扩容了。怎么扩,策略是什么? return slice{unsafe.Pointer(&zerobase), old.len, cap} } // 这里就是扩容的策略 newcap := old.cap 主要需要关注的有两点,一个是扩容时候的策略,还有一个就是扩容是生成全新的内存地址还是在原来的地址后追加。 Go 中切片扩容的策略是这样的: 如果切片的容量小于 1024 个元素,于是扩容的时候就翻倍增加容量。上面那个例子也验证了这一情况,总容量从原来的4个翻倍到现在的8个。

    1.2K30编辑于 2023-04-12
  • 来自专栏Java架构师历程

    6、选择部署策略

    在本章中,我们将介绍部署微服务的策略。 6.1、动机 部署单体应用程序意味着运行一个或多个相同副本的单个较大的应用程序。 图 6-1 展示了该模式的结构: ? 这种模式有几个变体。一个变体是每个服务实例都是一个进程或进程组。 图 6-2 展示了该模式的结构: ? 这是 Netflix 部署其视频流服务的主要方式。Netflix 使用 Aminator 将每个服务打包为 EC2 AMI。 图 6-3 展示了该模式的结构: ? 要使用此模式,请将您的服务打包成一个容器镜像。容器镜像是由运行服务所需的应用程序和库组成的文件系统镜像。一些容器镜像由完整的 Linux 根文件系统组成。

    1.4K30发布于 2018-09-26
  • 来自专栏掘金安东尼

    再靠近亿点点,RAG 优化策略

    本篇来看下 RAG 的架构优化策略 利用知识图谱(KG)进行上下文增强 在现有的向量数据库中,典型的上下文增强可能面临挑战:难以捕捉长距离的关联知识,信息稀疏性高(尤其是当LLM上下文窗口有限时)。 Self-RAG 的重要创新 Self-RAG 的 Reflection tokens (反思字符) 通过生成反思字符这一特殊标记来检查输出。 Self-RAG 的推理过程 Self-RAG 通过运用反思性标记对自己的输出进行自评,这使得它在推理过程中展现出调整与适应能力。 它可以与多模态 LLM 结合,实现跨模态的 RAG。 小结 本篇文章介绍了 RAG 的架构优化策略,主要包括利用知识图谱进行上下文增强以及让大模型对召回结果进行筛选的方法。

    1K10编辑于 2024-04-13
  • 来自专栏DeepHub IMBA

    RAG流程优化(微调)的4个基本策略

    在本文中,我们将介绍使用私有数据优化检索增强生成(RAG)的四种策略,可以提升生成任务的质量和准确性。 通过使用一些优化策略,可以有效提升检索增强生成系统的性能和输出质量,使其在实际应用中能够更好地满足需求。 RAG简单回顾 RAG主要有两个过程。 这里比较了不同的嵌入模型,如Dense Passage Retrieval ,Sentence-BERT ,或Chroma的默认模型(“all-MiniLM-L6-v2”。 def __init__(self, model_name: str = 'paraphrase-MiniLM-L6-v2'): # Initialize the tokenizer 还有最重要的一点成功的关键在于理解现有的数据,尝试不同的策略,并不断改进的流程。

    2.2K10编辑于 2024-07-01
  • 来自专栏AgenticAI

    OpenAI主管Lilian Weng分享RAG对抗LLM幻觉策略

    2024年7月7号,OpenAI安全团队负责人,Lilian Weng分享了一篇博客介绍了LLM中幻觉的由来、检测和对抗策略,分享给大家,以下为翻译全文。 注:本文共分为三节:LLM幻觉由来、检测和对抗,其中对抗方法包括RAG相关的策略,感兴趣的同学可以直达。 1. 什么导致幻觉? FActScore(原子性得分中的事实精度;Min 等人,2023 年[6])将长格式生成分解为多个原子事实,并根据 Wikipedia 等知识库分别验证每个原子事实。 3.1 RAG → 编辑和归属 RAG(检索增强生成)[20]是一种非常常见的提供基础信息的方法,即检索相关文档,然后使用相关文档作为额外上下文进行生成。 Self-RAG 每次生成一个片段。

    70410编辑于 2025-03-18
  • 来自专栏大数据成神之路

    6-Flink重启策略

    概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启 集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。 如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。 配置参数 restart-strategy 定义了哪个策略被使用。 restart) 策略。 如果启用了 checkpointing,但没有配置重启策略,则使用固定间隔 (fixed-delay) 策略 重启策略可以在flink-conf.yaml中配置,表示全局的配置。

    59670发布于 2019-03-07
  • 来自专栏程序员

    C++对象切片:机制、应用场景与规避策略

    对象切片的核心机制1.1 切片的发生条件对象切片(Object Slicing)发生在派生类对象向基类对象赋值或传值时,编译器仅复制基类子对象部分,派生类特有成员被丢弃。 对象切片的潜在风险3.1 多态性破坏std::vector<Base> objects;objects.push_back(Derived()); // 切片发生objects[0].func(); 专业规避策略4.1 基于智能指针的多态容器std::vector<std::unique_ptr<Base>> polymorphic_objects;polymorphic_objects.push_back 工程实践建议明确设计意图:如果确实需要切片,使用显式接口如getBaseCopy()代码审查重点:将对象切片作为代码审查的重点检查项静态分析配置:启用编译器警告(-Wslicing)和静态分析工具检测文档化约定 :在团队编码规范中明确切片的使用条件和限制6.

    34010编辑于 2025-09-09
  • 来自专栏AI研思录

    RAT:融合RAG和CoT的高效多步推理任务策略

    因此这篇论文考虑在COT的基础上加上了RAG,即 RAT,通过利用检索到的外部信息为大模型提供推理依据。 论文核心 RAT 的核心是将 RAG 用于修正由 CoT 提示生成的每一个思维步骤中,通过查找不同参考文档来不断修正每一个思维步骤,确保推理的每一步都有准确且可靠的信息支持。 使用RAG来修复大模型生成思维步骤:假设已经修复了之前的思考步骤,现在要修复第 个思维步骤 ,将现在和过去的思维步骤 转化为将可以被LLM检索系统处理的查询,得到 检索文档:使用RAG检索 相关的文档 论文总结 这篇文章提出的RAT结合了RAG和CTO思想,使用RAG检索的文档动态优化COT中的每一个步骤,确保每一个推理步骤都是有依据的,避免大模型的幻觉。 实验结果表明,RAT在这些任务上相比传统的CoT提示和RAG方法都有显著的性能提升。

    71910编辑于 2025-02-20
  • 来自专栏拾光学迹

    RAG 中数据处理的关键:数据切片的挑战与解决方案

    字数: 900+ | 阅读时间: 3-4分钟 热点解读:在AI快速发展的今天,RAG技术正成为各行各业的"必备神器"。但要真正驾驭这头"AI猛兽",你必须先搞定数据切片这个"拦路虎"! 一、数据切片RAG技术的"阿喀琉斯之踵" 朋友们,想象一下:你辛辛苦苦收集了海量数据,却因为切片不当,让你的AI变成了"结巴"或"健忘症患者"。 1. AI:基于长切片中的丰富信息,我可以从AI、量子计算、生物科技等多个角度为您分析... 四、解决方案三:先粗切片 + 再细切片 小贴士:这就像给AI装备了"望远镜+显微镜",既能看大局又能观细节! 优点: 效率和准确性的完美平衡 适应复杂文档的处理需求 示例: 粗切片:硬件部分、软件部分 细切片:处理器、内存、硬盘... 用户:处理器的性能如何? AI:通过粗切片定位到硬件部分,再通过细切片找到处理器相关信息,为您详细分析... 五、总结 朋友们,在这个AI浪潮中,掌握RAG技术就像学会了"驯服AI猛兽"的秘诀。

    45000编辑于 2025-02-26
  • 来自专栏DeepHub IMBA

    RAG系统嵌入模型怎么选?选型策略和踩坑指南

    检索增强生成(RAG)已成为构建生成式 AI 应用的主流架构,企业选择它主要原本是可以用自有数据约束模型输出,使答案更准确、可更新且更贴合业务场景。 RAG 的效果在很大程度上取决于检索到的上下文质量——提升效果的常用手段包括合理切分文本块(chunking)、选用合适的嵌入模型与采用稳健的检索策略。 嵌入在 RAG 中为何重要? 语义理解:嵌入将词、句子或文档转成向量(数字列表),让相近语义彼此靠近。这帮助系统理解语境与含义,而非仅做字面匹配。 高效检索:RAG 需要快速找到最相关的段落或文档。 选择嵌入时的关键考量 设计 RAG 时我首先会问:"系统要处理什么数据?" RAG 系统的优化是个迭代过程,嵌入模型只是其中一环。有了数据、有了用户反馈,你自然知道该朝哪个方向调整。

    46610编辑于 2025-11-15
  • 来自专栏DeepHub IMBA

    RAG 中分块重叠的 8 个隐性开销与权衡策略

    RAG 分块重叠提升了召回率但增加了隐藏成本,比如说索引膨胀、Embedding 开销、延迟、重排序负载和评估漂移。 本文将总结的八项 RAG 分块重叠隐藏的成本,以及如何判断什么时候重叠真正有用,什么时候只是花钱买心安。 6、缓存效率大打折扣 重叠一变,分块边界就变了。听起来是小事但它直接摧毁缓存键。 正确做法是对所有环节做版本管理:语料库快照、分块参数(S,O)、Embedding 模型、索引构建配置、检索和重排序策略,一个都不能少。 如果你正在调优 RAG,建议做一个实验:在增大 overlap 的同时,强制启用去重和每文档上限。如果这套组合能以更少的冗余拿到大部分质量收益。 by Velorum

    12410编辑于 2026-02-27
  • 来自专栏蛋先生说识

    RAG 切片利器 LumberChunker 是如何智能地把文档切割成 LLM 爱吃的块

    RAG 里的文档应该怎么切割比较好呢?按固定的字符数或词数?按句?按段落?加个重叠窗口?感觉这些都太简单粗暴,容易把相关的内容给拆散了蛋先生:恩,你说得对。 我们在上面的流程处理后,拿到了新的起点段落,然后重复以上流程,直到所有段落都被处理完毕丹尼尔:哎呦不错哦,又简单又有效,这样看上去每个相关的块基本都可以在一起,不会被硬拆开蛋先生:没错,有了高质量的分块,RAG

    43810编辑于 2025-10-27
  • 来自专栏iSharkFly

    Confluence 6 数据收集隐私策略

    在我们的 Privacy Policy 中将会确定我们将会收集哪些数据,请阅读上面的策略——我们尝试避免使用法律上的套话,而尽可能使用简单的语言进行描述 。 https://www.cwiki.us/display/CONF6ZH/Data+Collection+Policy

    61250发布于 2019-01-30
  • 来自专栏iSharkFly

    Confluence 6 生产环境备份策略

    一旦你的 Confluence 安装实例中超过了上千的页面,相对数据库自带的数据备份来说,XML 的备份方案就显得没有那么有效了。XML 的备份方法需要占用服务器的大量内存来运行,同时在恢复的时候也比较容易失败。

    51320发布于 2019-01-31
  • 来自专栏有关SQL

    6 图助你理解 SQL 优化策略

    玩 SQL 1 - 2 年的朋友,对于 Execution Plan (执行计划)估计不陌生了。但也有特例,3 - 4 年的朋友有时候也不知道如何查看 Execution Plan. 这事儿我还真见的不少。

    56430发布于 2019-12-25
领券