RAG基础介绍

引言:

在项目开发中,我经常会用到大模型,但是模型回答很通用,无法针对我的私有代码库。这是几乎所有大模型的痛点:知识截止到训练数据 ,且**无法访问私有/实时信息。**那么有没有一种方法可以解决这个痛点呢?答案是rag------检索增强生成

什么是RAG?

RAG就是拿着资料找答案

想象一下一个考试场景,使用LLM/RAG的人作为出题者,而LLM和RAG则是考生,但是LLM参加的是闭卷考,知识储备是考试前的记忆,而RAG则是开卷考,提前知道了考试的范围,知识储备是考试时带的相关资料;显而易见,RAG相比LLM更适合开卷考试(个性化问题)

RAG 的核心流程

RAG 的核心流程=(分片+索引)+(召回+重排+生成答案),可以简单地分为准备阶段和生成答案的阶段,也可以再细分为以下三个阶段

rag流程示意图:https://excalidraw.com/#json=VQCvUuoxWxwJYr4L4GGa9,xce_iqT4shKuqA04ijfdow
阶段一:索引 (Indexing) ------ 准备参考书

把文档切分成小块 (Chunking) -> 用 Embedding 模型转为向量(语义坐标) -> 存入向量数据库 (如 Chroma, Milvus, Qdrant)

阶段二:检索(Retrieval)------翻到相关章节

把用户问题也变成向量->在向量数据库里找最相似的 top-k 个文档块->取回这些文档块作为"参考资料"

阶段三:增强与生成(Augmentation & Generation)------开卷作答

让LLM根据top-k文档块总结出最合适的回答

复制代码
# Indexing:离线准备
chunks = split(documents)          # 文档切块
vectors = embed(chunks)            # 每块转向量
store(vectors, chunks)             # 存入向量库(向量 -> 文本块)

# Retrieval + Generation:在线问答
q_vec = embed(question)            # 问题转向量
top_chunks = search_similar(q_vec, k=3)  # 相似度检索 top-k
prompt = "参考资料:\n" + top_chunks + "\n\n问题:" + question
answer = llm(prompt)               # 大模型基于资料生成答案

总结:

RAG 的本质是: 检索把相关内容找出来,生成负责把内容说清楚 。

当你希望 AI 回答"可追溯、更可靠、能用你的私有知识"时,RAG 往往是最简单、最实用的方案。

使用LLM的小tips:

在问问题之前加上下面的prompt,可以避免LLM乱编

你只能基于"参考资料"回答;如果资料不足,请回答"资料不足,无法确定"。

相关推荐
秋名山码民5 天前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag
Artech5 天前
[MAF预定义的AIContextProvider-01]TextSearchProvider——RAG在MAF中的实现
ai·agent·rag·maf
染指11106 天前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
SXJR6 天前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
deephub6 天前
Flash-KMeans:快速且内存高效的精确 K-Means,可在单张 GPU 进行亿级数据的聚类
人工智能·机器学习·kmeans·聚类·rag
四六的六6 天前
WebView里跑RAG——浏览器内知识检索增强实战
前端·实战·个人开发·webview·ai大模型·rag·webview内嵌开发
Attachment George6 天前
山东大学软件学院-项目实训-个人开发日志(十):材料问答链路开发——文档解析、OCR兜底与持续追问完善
python·ai·langchain·kotlin·rag
knight_9___6 天前
AI Agent 是什么?
人工智能·python·agent·rag·mcp
程序员三明治6 天前
【AI】从文本到向量:理解Embedding的作用
java·人工智能·后端·llm·元数据·rag·向量化
不爱洗脚的小滕7 天前
【Agent】如何为 AI Agent 设计高可用的 Tools
人工智能·aigc·ai编程·rag