【RAG开发】RAG介绍

通用基础大模型存在的一些问题

1、LLM的知识不是实时的,模型训练后不具备自动更新知识的能力,会导致部分信息滞后

2、LLM领域知识是缺乏的,大模型的知识来源于训练数据,这些数据主要来自公开的互联网和开源数据集,无法覆盖特定领域或高度专业化的内部知识

3、幻觉问题,LLM有时会在回答中生成看似合理但实际上是错误的信息

4、数据安全性

RAG(Retrieval Augmented Generation)检索增强生成技术,利用检索外部文档提升生成结果质量

RAG(Retrieval-Augmented Generation)即检索增强生成,为大模型提供了从特定数据源检索到的信息,以此来修正和补充生成的答案。

RAG的工作原理

简单来说,RAG工作分为两条线:

离线准备线

在线服务线

RAG标准流程

RAG标准流程由索引(Indexing)、检索(Retriever)和生成(Generation)三个核心阶段组成

索引阶段

通过处理多种来源多种格式的文档提取其中文本,将其切分为标准长度的文本块(chunk),并进行嵌入向量化(embedding),向量存储在向量数据库(vector database)中。

加载文件

内容提取

文本分割,形成chunk

文本向量化

存向量数据库

检索阶段

用户输入的查询被转化为向量表示,通过相似度匹配从向量数据库中检索出最相关的文本块

生成阶段

检索到的相关文本与原始查询共同构成提示词(Prompt),输入大语言模型(LLM),生成精确且具备上下文关联的回答。

匹配出的文本作为上下文和问题一起添加到prompt中

提交给LLM生成答案

总结

模型本质上就是用户输入,模型给出输出,用户能做的就是在输入上做功夫

RAG就是在向模型提问之前基于已有的知识库或文档内容做检索,确保向模型提问的内容更精准以及包含足够的信息量用以提供给模型

RAG的核心价值

解决知识实效性问题:大模型的训练数据有截止时间,RAG,可以接入最新文档(如公司财报、政策文件),让模型输出"与时俱进"

降低模型幻觉:模型的回答基于检索到的事实性资料,而非纯靠自身记忆,大幅度减少编造信息的概率

无需重新训练模型:相比微调(Fine-tuning),RAG只需更新知识库,成本更低,效率更高

相关推荐
承渊政道3 小时前
LangChainAI应用开发框架【LangChain与LangGraph介绍】
langchain·大模型·langgraph·ai应用开发
Flynn Liang3 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices
Flynn Liang3 小时前
LangChain4j 1.23 架构全景:Java 大模型应用的 6 层抽象
java·langchain·大模型·rag·ai agent·langchain4j
GISer_Jing5 小时前
Agent相关岗位时收集的各类技术面试题
后端·ai·langchain
Flynn Liang5 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
叼烟扛炮6 小时前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
GISer_Jing7 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
西安小哥8 小时前
大厂把大模型做为一层“网关”,比换个框架更值得琢磨
架构·langchain
叼烟扛炮15 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮19 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain