准确率90%+!聊聊RAG的取代技术KAG

AI应用最害怕的就是模型幻觉,同一个问题收到不同的回答是令人绝望的事情,想象一下:

  1. 你如果是一个患者,同一个问题,医生给了你两个回答,你慌不慌?

  2. 你如果是一个律师,同一个问题,律师给了你完全不同的结果,你怕不怕?

现阶段做AI应用来说,想解决不光是模型问题,还想让AI回答得更好,而回答得更好,就需要借助外部知识库,从而诞生了RAG这个技术。

RAG是一个融合了基于检索和基于生成模型优势的框架。

它会从知识库中检索相关的外部信息(通常是文档或段落),并依据这些信息,组装提示词,而后模型会针对用户的查询生成更精准、上下文更丰富的回答。

其工作工程如下,首先是传统流程:

  • 问题:“在美国,什么是房东和租户之间的法律义务?”

  • 提示词:

你是一个资深律师,现在有用户问你法律问题,请你解答。

当前用户的问题是:

在美国,什么是房东和租户之间的法律义务?

  • 结果:“在美国,房东和租户之间的法律义务包括租金支付、物业维护、终止合同和保证房产安全。然而,具体的法律义务因州而异,租户和房东必须遵守当地的法规。”

这里可能的问题:

  • 缺乏具体的法律依据。

  • 没有提到具体的条文或具体州的法律规定,可能会给用户带来误导,尤其是在需要明确法律依据时。

其次是RAG流程,主要看提示词的变化:

你是一个资深律师,现在有用户问你法律问题,请你解答。

当前用户的问题是:

在美国,什么是房东和租户之间的法律义务?

以下是检索到的相关法律条文和案例,帮助你回答用户问题:

  1. 根据《美国统一住宅租赁法》第504条,房东有责任确保租赁物业保持适宜的居住条件,并进行必要的维修和保养。

  2. 根据《加利福尼亚州民法典》第1941.1条,房东必须确保租赁物业提供安全的居住环境,包括处理供水、供暖等系统问题。

  3. 《纽约州租赁法》第227条规定,房东有义务确保物业符合当地建筑标准,并为租户提供安全的居住条件。

  4. 美国法院在多个案例中判定,房东未能履行上述义务时,租户有权要求赔偿,包括但不限于租金减免或搬迁费用。

请根据以上法律条文与案例回答用户的问题。

于是答案是:

根据《美国统一住宅租赁法》第504条,房东有责任确保租赁物业保持适宜的居住条件,并负责进行维修和保养。此外,在加利福尼亚州,根据《加利福尼亚州民法典》第1941.1条,房东必须确保租赁物业提供安全的居住环境,包括处理供水和供暖等系统问题。如果房东未履行这些义务,租户可以根据法律要求赔偿。此外,依据《纽约州租赁法》第227条,房东还需确保物业符合当地建筑标准,并为租户提供安全的居住条件。在多个法院判例中,房东未能履行上述责任时,租户有权要求赔偿,包括租金减免或搬迁费用等。

在这个基础上,用户会认为答案更为靠谱,因为相关的权威条款、信息来源全部被带出来了。

RAG是非常好的解决模型幻觉框架,并且能显著提升模型回答质量,但在实际使用过程中,会发现他对模型不太友好,因为他只能提供数据片段,而不能提供数据+逻辑

其实这本身不是什么问题,只需要在RAG上叠加工程能力,让他具备逻辑能力即可,其核心在于AI应用基于的知识库本身结构化程度。

基于此,业内提出了一套新的框架KAG(Knowledge Augmented Generation)知识增强生成,想要去解决RAG的一些缺陷,今天我们就主要介绍这是什么东西。

RAG的缺陷

因为RAG 存在着向量相似度与知识推理相关性差距大、对知识逻辑(如数值、时间关系、专家规则等)不敏感等问题,这些缺陷阻碍了专业知识服务的落地。

这里大家可能不太了解是什么,举个例子:

假设你正在开发一个医学知识服务系统,用户输入一个病症的描述,系统需要根据病历数据提供相关的诊断信息。

假设用户输入的是:“病人出现反复头痛、恶心和呕吐,体检发现血压升高。”

RAG模型首先会从知识库中检索出一些相似的病例和可能的诊断。

这时,模型可能会检索到与“高血压”相关的病例,但是未必能从这些检索到的信息中得出合适的诊断,因为这个问题涉及到多个病理因素(如血压、神经系统异常等)的关联。

输入提示词:“病人头痛、恶心、呕吐,血压升高,可能的诊断”

检索库:症状、疾病、诊断记录

生成模型输出:可能检索到“高血压”和“头痛”相关的疾病,但缺乏深度推理,可能忽略了“神经系统异常”这个关键点。

为了解决这个问题,我们需要本地知识库本身具备逻辑性及关联性(也就是更加结构化)。

比如这里的头痛与高血压会被明确关联,并且每个症状或疾病的相关因素(如“神经系统异常”)也可以作为附加信息在图谱中关联起来。

在使用RAG时,除了只检索知识片段信息,还要增加推理逻辑,例如,使用基于规则的推理系统或者推理层来增强模型的推理能力。

比如:检索到“头痛”和“高血压”时,推理系统可以进一步检查是否存在“神经系统异常”的可能性,或者推理是否存在其他潜在的关联(如“脑部问题”)。

推理引擎可以分析相关的病理信息,自动推理出潜在的因果关系,避免漏掉“神经系统异常”等关键点。

以下是完整的案例:

输入提示词:病人头痛、恶心、呕吐、血压升高。

检索库:症状与疾病的知识图谱。

检索出与“头痛”和“高血压”相关的疾病。

发现与“高血压”相关的并发症,如“脑部异常”,并自动标记“神经系统异常”作为潜在问题。

推理引擎激活:

推理系统检查“头痛”和“高血压”的组合,发现此组合可能会引发神经系统异常,进一步推理出“脑卒中”或“颅内压增高”等疾病可能性。

生成模型:

结合检索到的信息和推理引擎的结论,生成模型输出:“病人可能存在高血压导致的头痛,建议进行脑部CT检查以排除神经系统异常。”

以上就是通过行业KnowHow与工程能力,对RAG技术进行了进一步保证达到的效果,可以看出他和现在DeepSeek的think功能很类似的。

在这个基础下,我们再看看阿里这边推出的KAG框架。

KAG

10月24日,OpenSPG 发布 v0.5 版本,正式发布了知识增强生成(KAG)的专业领域知识服务框架。

KAG 旨在充分利用知识图谱和向量检索的优势,并通过四个方面双向增强大型语言模型和知识图谱,以解决 RAG 挑战:

  1. 对LLM友好的知识表示

  2. 知识图谱与原文片段之间的互索引

  3. 逻辑形式引导的混合推理引擎

  4. 与语义推理的知识对齐。

其技术架构如下:

其核心为知识串联:

本质是将用户问题可能相关的信息以及推理逻辑都带上,由于模型上下文多了,所以模型的表现会更好。

从这里便可以看出KAG与RAG的区别了,KAG通过将结构化知识图谱或外部知识库直接融入模型架构,来提升语言模型的生成能力。

与检索非结构化数据(文档或文本)的RAG不同,KAG侧重于整合结构化知识,以此提高生成质量。

因为KAG本质依赖的是知识图谱,那么其回答质量必定会高很多,但也就是其依赖的知识图谱,无论其初始数据导入还是后续图谱的更新都很麻烦。

KAG很厉害的是,他有一套框架,可以自动生成关系链,这个很屌的:

下面是一个复杂案例的完整展示过程:

代表作为《王右丞集》诗人,其家乡被司马迁称之为什么?

其背后的数据库如下:

unsetunset一个案例unsetunset

按照官方引导,安装好程序:

开始尝试将我的一篇文章结构化:

解析过程的日志:

图谱生成:

答案生成:

用官方文档效果要:

但总的来说,不太准…

看了下过程,将文章生成结构化的知识图谱这块不太准确,总的来说有很长的路要走!

unsetunset结语unsetunset

实际KAG使用过程中BUG不少:

应该还不太成熟,只不过产品侧有些考虑提前放了出来,但从长远来说,我认为KAG是最终答案。

RAG利用外部知识库的检索功能来生成更丰富的答案,虽然它有效解决了模型幻觉问题,但仍然存在对复杂推理能力的欠缺。

而KAG通过结合结构化的知识图谱与推理引擎,能够为语言模型提供更具逻辑性和关联性的答案,从而显著提升生成的质量。

然而,KAG的高效性和准确性也依赖于知识图谱的结构化程度以及数据的维护更新,这一过程可能会较为复杂。

无论是RAG还是KAG,它们的核心目标是增强AI模型在特定应用场景下的推理与生成能力,尤其是在医学、法律等专业领域中,这对于提高模型回答的准确性和可靠性至关重要。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

<think>嗯,用户想提升RAG模型的准确率,特别是在检索和生成这两个方面。那我得先回顾一下RAG的基本结构,然后看看有哪些方法可以优化。根据引用[1]提到,RAG包括Embedding模型、向量数据库、提示词工程和大语言模型。所以,提高准确率可能需要从这些部分入手。 首先,检索阶段的优化是关键。用户提到的引用[1]和[3]都强调了检索准确率的重要性。比如,使用更高质量的Embedding模型,像OpenAI的text-embedding-3-large或者BGE模型,可能提升向量表示的效果。另外,分块策略也很重要,如果分块太小可能会丢失上下文,太大又可能引入噪音,所以需要根据具体数据调整块的大小和重叠部分。 然后,引用[1]提到的Reranker,也就是重排器,可以在初步检索后进一步优化结果。比如Cohere Rerank或者BGE Re-Ranker,虽然会增加延迟,但能有效提升相关性。可能用户需要权衡计算成本和准确率,选择适合的重排器。 还有,预处理数据方面,引用[3]提到数据清洗和结构化处理,比如去除噪音、提取关键词,这样可以提升检索质量。元数据过滤也是个好方法,比如按文档类型或时间筛选,减少不相关的结果。 在生成阶段,提示词工程的作用不可忽视。引用[1]和[4]都提到,设计好的提示词,比如明确要求模型基于上下文回答,可以避免幻觉。此外,多步生成策略,如先总结检索内容再生成答案,可能提高准确性。 评估和迭代也很重要。引用[3]讲到了评估指标,比如检索召回率和生成答案的相关性,通过A/B测试不同配置的效果,持续优化模型参数和策略。 用户可能的应用场景可能是问答系统或事实核查,需要最新信息支持,所以结合实时数据更新和混合检索(关键词+向量)可能会有帮助。另外,混合生成模型,比如多个LLM投票,可能提升生成结果的可靠性。 不过,用户可能没有提到的潜在需求是平衡延迟和成本,比如Reranker虽然有效,但需要考虑实际应用中的响应时间。还有数据隐私问题,如果处理的是敏感信息,需要确保Embedding和检索过程的安全。 总之,需要综合多个方面的优化,从数据预处理、检索策略、重排、提示词设计到生成模型的选择,逐步提升RAG的整体性能。同时,持续监控和评估效果,根据反馈调整策略,才能有效提高准确率。</think>为提高RAG模型的检索和生成准确率,可从以下六个维度进行优化,结合最新技术实践与理论依据: ### 一、检索阶段优化 1. **Embedding模型增强** - 使用混合检索策略:结合$dense\ vectors$和$sparse\ vectors$(如BM25),提升召回率[^1] - 升级Embedding模型:采用SOTA模型如BGE-v1.5($\text{score}=58.37$ on MTEB)或OpenAI text-embedding-3-large($\text{dim}=3072$)[^3] 2. **分块策略优化** - 动态分块算法:基于语义边界自适应调整块大小,公式表达为: $$C_i = \arg\max_{c \in D}(sim(q,c) \cdot \frac{1}{|c|^{0.5}})$$ - 重叠窗口设计:设置10-30%的重叠比例保持上下文连贯性[^3] 3. **重排技术(Reranker)** - 两阶段检索架构: ```mermaid graph LR A[Query] --> B{向量检索} B --> C[Top100候选] C --> D{Reranker} D --> E[Top3结果] ``` - 推荐使用BGE Re-Ranker v2.0($\text{NDCG@10}=86.2$)或Cohere Rerank v3[^1] ### 二、生成阶段优化 1. **提示词工程** - 结构化模板设计: ```text 你是一个专业助手,请严格基于以下上下文回答问题: [上下文开始] {{context}} [上下文结束] 问题:{{question}} 若上下文不包含答案,请回答"未知" ``` - 思维链(Chain-of-Thought)增强: $$P_{\text{answer}} = \prod_{t=1}^T P(w_t|w_{<t},c,q)$$ 2. **生成控制技术** - 温度参数调节:设置$\tau=0.3$降低随机性 - 约束解码:通过正则表达式限制输出格式 ### 三、数据层面优化 1. **知识库构建** - 数据清洗流程: ```python def clean_text(text): text = remove_html_tags(text) text = correct_spelling(text) return normalize_whitespace(text) ``` - 元数据增强:添加时间戳、来源等结构化信息 2. **评估体系构建** | 指标 | 计算公式 | 目标值 | |-------------|--------------------------|-------| | 检索召回率 | $\frac{|R \cap G|}{|G|}$ | >85% | | 生成准确率 | $\frac{\text{正确回答}}{\text{总提问}}$ | >90% | ### 四、系统级优化 1. **混合架构设计** - 实时更新机制:每小时同步增量数据到向量库 - 缓存策略:对高频查询建立LRU缓存($\text{size}=1,000$) 2. **监控报警系统** - 异常检测模型: $$anomaly\_score = \alpha \cdot \text{空答率} + \beta \cdot \text{时延} + \gamma \cdot \text{置信度}$$ ### 五、前沿技术整合 1. **多模态增强** - 融合文本、表格、图像的多模态检索 - 使用CLIP模型进行跨模态对齐 2. **主动学习机制** - 不确定度采样策略: $$x^* = \arg\max_x(1 - P_{\theta}(y|x))$$ ### 六、持续优化闭环 建立"评估-分析-优化"迭代循环,建议每两周进行效果复盘。通过A/B测试验证优化措施,确保准确率提升符合预期[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值