惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
V
Visual Studio Blog
有赞技术团队
有赞技术团队
U
Unit 42
D
Docker
小众软件
小众软件
F
Full Disclosure
I
Intezer
Scott Helme
Scott Helme
P
Privacy International News Feed
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
B
Blog
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
宝玉的分享
宝玉的分享
S
Security Affairs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
月光博客
月光博客
C
Cisco Blogs
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threat Research - Cisco Blogs
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Heimdal Security Blog
N
Netflix TechBlog - Medium
H
Hacker News: Front Page
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
S
Schneier on Security

博客园 - Hey,Coder!

Elasticsearch ILM 与 Data Stream 概念及实例说明文档 portainer httphelper封装 Ocelot + Consul + SignalR 粘性会话 正交软件架构 docker postgresql17 主从复制 rabbitmq总结与c#示例 docker rabbitmq quartz dashboard docker consul registrator 服务自动注册consul 微服务动态扩容 ubuntu24.04 安装docker 软考 - 架构设计师 知识点总结 c# MailKit3.4.3 发送邮件、附件 nginx 反向代理postgresql c# 信号量 elsa 3.5 中间件记录最后执行的节点数据 xp密钥 c# System.Text.Json 反序列化Dictionary<string,object>时未转换基础类型的处理方法 docker配置代理 openclaw 接入 LMStudio的模型服务 wpf canvas 移动 缩放 windows平台openclaw搭建 wpf scrollerview触摸滚动 c# 动态切换sqlsugar连接字符串 c# Elastic.Clients.Elasticsearch 动态查询 c# es 封装Elastic.Clients.Elasticsearch c# scrollerview滚动到指定元素位置 WPF 重写Expander 基于elsa工作流封装一套变量、组件的体系 常用活动重写 DynamicExpresso 轻量级动态表达式库 c# elsa 3.5.2 程序化工作流常用功能及自定义中间件 leaflet docker 连接老版本的sqlserver ssl错误 c# quartz 动态创建任务 控制任务运行和停止 依赖注入 cefsharp 模拟点击 批量重置数据库的数据 docker 复制远程镜像本地并创建容器 c# newtonsoft dynamic
RAG 检索增强生成
Hey,Coder! · 2026-06-01 · via 博客园 - Hey,Coder!

一、RAG 概述

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了 信息检索大语言模型(LLM)生成能力 的 AI 框架。

  • Facebook AI Research(FAIR)2020 年 首次提出
  • 已成为大模型落地应用中的热门方案
  • 主要用于 知识密集型任务:问答、摘要、内容生成等

核心理念:

从外部知识库中检索相关信息 → 作为 Prompt 输入给 LLM → 生成更准确、更时效、更贴合需求的文本


二、如何理解 RAG

RAG 可拆解为三个关键环节:

环节 说明
检索(Retrieval) 从预先构建的知识库中检索与问题相关的信息
增强(Augmentation) 将检索到的信息作为上下文,增强 LLM 的理解能力
生成(Generation) LLM 基于增强后的 Prompt 生成最终回答

关键主语关系:

知识库中的信息 增强 了 LLM 的 Prompt
LLM 生成 了最终答案


三、为什么需要 RAG

LLM 的两大痛点

问题 说明
知识截止 模型知识受限于训练数据的时间范围
幻觉(Hallucination) 模型可能自信地生成错误信息

RAG 的价值:
摆脱静态知识限制,引入外部实时知识,显著提升回答的准确性与可靠性。


四、RAG 工作流程

graph LR A[知识准备] --> B[嵌入与索引] B --> C[用户查询] C --> D[向量检索] D --> E[提示增强] E --> F[LLM 生成回答]

详细步骤

  1. 知识准备

    • 收集文档 / 网页 / 数据库数据
    • 清洗、去噪、预处理
    • 文本分块(Chunking)
  2. 嵌入与索引

    • 使用嵌入模型(如 GLM Embedding)
    • 文本 → 向量
    • 存入向量数据库(FAISS / Milvus 等)
  3. 查询检索

    • 用户问题向量化
    • 向量相似度检索(余弦相似度等)
    • 返回 Top-K 相关片段
  4. 提示增强

    • 检索结果 + 原始问题 → 构造 Prompt
  5. 生成回答

    • LLM 基于增强 Prompt 生成回答

五、RAG 技术架构

RAG 主要由两大模块组成:

1️⃣ 检索模块(Retriever)

  • 文本嵌入:查询 & 文档向量化
  • 向量搜索:高效相似度匹配
  • 双塔模型(Dual-Encoder)
    • Query Encoder
    • Document Encoder
    • 映射至同一向量空间

常用工具:

  • 嵌入模型:GLM、BGE、OpenAI Embedding
  • 向量数据库:FAISS、Milvus、Weaviate、Qdrant

2️⃣ 生成模块(Generator)

  • 使用大规模预训练 LLM(如 GLM、GPT 系列)
  • 融合检索上下文
  • 生成连贯、准确、信息丰富的回答

六、如何搭建一个 RAG 知识问答系统

✅ 数据准备与知识库构建

  • 收集领域数据(医疗 / 法律 / 产品)
  • 数据清洗与去重
  • 文本分块(Chunk)
  • 向量化并写入向量数据库

✅ 检索模块设计

  • 问题向量化
  • 相似度检索
  • 结果排序(Top-K)

✅ 生成模块设计

  • 上下文融合
  • Prompt 工程
  • LLM 生成回答

📌 实践建议:

先搭 Demo → 验证效果 → 持续迭代知识库与检索策略


七、典型应用场景

  • 🏥 医疗问答系统
  • ⚖️ 法律咨询助手
  • 📦 产品智能客服
  • 📚 企业知识库搜索
  • 🧠 私有化 AI 助理

八、总结一句话

RAG = 检索外部知识 + 增强 Prompt + LLM 生成答案
是解决 LLM 幻觉与知识过时问题的关键技术方案。