当前位置: 首页 > news >正文

大模型应用开发(十六)_RAG概述

4. RAG概述


提高大语言模型(LLM)回答的准确性和一致性通常有三种方式:

  • prompt优化:prompt优化可以在文本生成和行为控制上提供初步帮助。
  • RAG(检索增强生成):RAG侧重补充训练数据中没有的或过时的信息
  • fine-tuning(微调):fine-tuning则主要调整模型的行为模式,如语气、回答一致性和语言风格。

OpenAl 这个图就把优化上下文信息内容LLM 行为优化分两个轴,一个针对 what the model needs to know ,一个针对 how the model needs to act

黑色方块箭头指的是常见优化LLM accuracy保持consistent behavior的常规步骤:

1、初始提示 (Prompt):首先从一个基础提示(Prompt)开始。提示是你提供给模型的问题或输入,模型会根据这个提示生成结果

2、添加静态的 Few-Shot示例:Few-shot学习是指在提示中添加几个示例,这些示例展示了你期望的输入-输出关系。通过静态地添加这些示例,你可以提高模型生成结果的一致性。同时可以evals评估测试

3、加入动态检索步骤:通过检索机制,模型可以动态地根据问题获取与之相关的 Few-shot 示例。这有助于提高模型的性能,因为它可以在每次生成时获取到更相关的上下文。

4、准备数据集并进行微调:为了提高模型的一致性,你需要准备一个包含 50 个以上示例的数据集,并在这个数据集上对模型进行微调

5、优化检索和加入事实检查步骤::索机制帮助模型找到更相关的上下文,而事实检査步骤可以帮助检测模型生成的错误(也称为“幻觉”),以确保模型生成的内容更加准确。

6、再次训练模型:在加入了新的检索机制和事实检査步骤后,你可以用增强的输入数据重新训练模型,以进一步提高性能


RAG技术本质

4.1 RAG 是什么

RAG(Retrieval-Augmented Generation)是一种结合了信息检索(Retrieval)生成式模型(Generation)的 AI 技术框架。

它的核心思想是:

在生成回答之前,先从外部知识库中检索到相关信息,再将这些信息与用户问题一同输入大语言模型,让模型“带着事实”回答问题。

这样,模型的回答不仅更加准确可解释实时更新,还能避免模型“幻觉”(hallucination)。


4.2 RAG 的基本流程

RAG 通常分为两个阶段

1️⃣ 检索阶段(Retrieval)

  • 用户输入一个查询(query)。
  • 系统通过向量检索(如 FAISS、Milvus、Elasticsearch)在知识库中寻找最相关的文档片段。
  • 输出若干条与问题相关的文本内容(通常称为contextevidence)。

2️⃣ 生成阶段(Generation)

  • 将检索到的上下文与用户问题一起输入到大语言模型(如 GPT、Llama、Claude)。
  • 模型在这些上下文的辅助下生成答案。

4.3 RAG 架构示意

用户问题 ↓ [检索模块] → 检索外部知识库(向量数据库) ↓ 返回相关文档 [生成模块] ← 将问题 + 检索结果输入大模型 ↓ 生成增强回答

4.4 RAG 的关键组件

组件作用常见实现
文档预处理将知识源(PDF、网页、数据库)拆分成段落块(chunks)LangChain、LlamaIndex
向量化(Embedding)把文本转成向量用于相似度检索OpenAI Embeddings、Sentence-BERT、bge-large-zh
向量数据库存储并检索文本向量FAISS、Milvus、Pinecone、Chroma
检索策略根据相似度、BM25、RRF 等算法选出上下文similarity search、hybrid search
生成模型根据检索结果生成回答GPT-4、Llama3、Claude、Qwen
Prompt 模板控制生成阶段的上下文格式“Context + Question + Instruction” 模板
http://www.cnnetsun.cn/news/69779.html

相关文章:

  • [光学原理与应用-491]:水冷机、零气模块CDA、功率计等影响266皮秒紫外激光器的种子源1064nm功率稳定性结果的主要因素有哪些?
  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别
  • 若依物联网
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • Docker Engine 升级指南:保障容器安全的关键步骤
  • 基于zigbee灯光控制照明及色温调节系统的设计与实现(有完整资料)
  • 7、Python高级语法:描述器、属性与元编程实战
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 11、Python 包与应用开发全解析
  • django基于智能推荐算法的全屋定制平台网站设计
  • 详谈:解释器模式(四)
  • 双Buck电路并联下的下垂控制与VDCM协同控制策略:增强直流微电网稳定性的仿真应用
  • Java 日期格式化方法:SimpleDateFormat 和 DateTimeFormatter
  • GPU 渲染模式:OpenGL ANGLE Vulkan 的选择与切换(工程师不踩坑指南)
  • 【dz-968】室内空气监测系统设计
  • 【接口测试】5_接口测试基础 _接口文档解析
  • 最近在搞风光储联合发电系统的仿真,发现直驱风机和光伏逆变器的配合特别有意思。今天就跟大伙儿唠唠这个模型搭建时遇到的坑,顺便分享几个关键模块的调参心得
  • 【保姆级教程】手把手带你读懂AI落地架构图!AI产品经理必备,每个节点都给你讲透!
  • 最小化门控记忆网络在风速条件分位数预测中的实践与应用
  • 先给大伙儿拆解下五层电梯PLC程序的实现逻辑。这玩意儿核心是状态转移和信号竞争,咱们直接上硬核部分。(文末附IO表与接线说明)