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

RAG基本流程

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将外部知识检索大语言模型(LLM)生成能力相结合的技术,用于提升回答的准确性、减少“幻觉”(Hallucination),并支持私有或实时数据。

1.文档加载,准备知识库

从各种来源,如 PDF、Word、网页、数据库、TXT 等,读取原始文本。

2.准备知识库-切分文档

把长文本切分为较小的语意片段,便于后续向量化和检索。

固定大小切分:如按照字符数、token数

按标点符号切分:如换行符

按文档结构切分:如标题、章节

按语意切分:将句子按照相关性合并成段落

语义连贯行越来越好、实现复杂度愈来愈难。

3.准备知识库-向量化

将每个文本块转换为高维向量(embedding),用于语义相似度计算。

  • text-embedding-ada-002(OpenAI)
  • BGE(智源)、m3e(国产)、Sentence-BERT

词嵌入:语义相似度捕捉的更好。

应用阶段:将训练好的模型应用于新文本以生成词潜入。

训练阶段:使用大型文本数据集训练模型以学习词表示。

4.向量存储

为向量存储和处理而生的数据库:向量数据库。

主要作用:嵌入文本、存储向量、进行相似度分析。

常见数据库:faiss、chroma、milvus等

5.检索

当用户提问时,将问题也转为向量,在向量库中查找最相似的 top-k 文本块。

(1)基于文本相似度的检索

问题向量vs知识块向量

余弦相似度:用向量的夹角表示这两个向量的相似度。夹角从0到180度,夹角越大,相似度越小。

欧氏距离:用向量的距离表示这两个向量的相关性。距离越小,相关性越高。

(2)基于关键字的检索

对于文档进行分词和去重之后,抽取关键字、匹配文档

语意捕捉效果更好,容错率更高。

关键词在部分场景下命中率高。

6.重排序(Re-ranking,可选但推荐)

对初步检索结果进行精排,提升相关性(尤其在 top-k 较大时)。

解决“语义相近但不相关”的误检问题。

7.提示词的构造+模型选择+生成回答

(1)提示词

用模版,不会每次都自己写。问题+参考文档,回答要求。

请根据以下上下文回答问题:

上下文:{retrieved_text}

问题:{query}

回答:

(2)模型的选择

开源:自行部署

  • 安全和隐私性好
  • 硬件要求较高
  • 模型能力相对较低
  • 应用:ollama、huggingface、魔塔

闭源:调用外部接口

  • 安全性较低(需连外网)
  • 模型能力较强
  • 一键调用,不需要维护。
  • 应用:各大官方API、通用框架。

(3)生成回答

将用户问题 + 检索到的上下文一起送入 LLM,生成最终答案。

8.总结

索引、检索、生成

作用:索引为了搭建一个知识库,支撑后面的检索。检索为了找到合适的文档。生成是为了整合提问和参考文档,输入大模型,得到答案。

核心:检索的核心是怎么切割模型,怎么选择合适的向量模型。检索核心是检索方式的选择。生成核心是提示词的构建,大模型的选择。

http://www.jsqmd.com/news/657691/

相关文章:

  • XPM_MEMORY_SDPRAM:从参数解析到高效配置的实战指南
  • RequestAttributes , ServletRequestAttributes学习
  • Python实现图形化井字棋——人机对战
  • 从JTAG到EJTAG:揭秘龙芯处理器片上调试的硬件基石
  • 大模型RAG (一)
  • 2026 学术降维打击:9 大 AI 查重降重工具,从重复率 99% 到安全过审全攻略
  • 大模型的参数量-为什么 24B 是一个“甜蜜点“?
  • 5分钟快速上手:开源视频智能分析工具的完整指南
  • vivo X300 Ultra长焦套件集市游玩体验佳,小巧轻便成家庭出游必备!
  • 嵌入式老鸟的VSCode私房插件清单:除了C/C++,这些调试和效率工具让你事半功倍
  • BilibiliUploader:Python自动化投稿工具的高效解决方案
  • 从零搭建思澈科技SiFli-Solution开发环境:避坑指南与实战演练
  • 【SITS2026官方认证指南】:AI文档生成工具选型、落地与合规避坑的7大黄金法则
  • 为了追求极致的性能,光学系统必须从“组装件”向“整体件”转变
  • 微软新 Xbox 负责人阿莎·夏尔马忙不停:Game Pass 定价待调,“螺旋计划”影响几何?
  • day3-实训学习记录
  • 百度网盘秒传工具终极指南:3分钟掌握快速转存技巧
  • 若依WMS仓库管理系统:企业级仓储管理的现代化解决方案
  • 花0.5s用openclaw写出来的vx小游戏,运行跑完全程无误,欢迎来找茬~
  • 告别base环境自动激活:CentOS7安装Miniconda后必做的几项贴心配置
  • 从DALL·E到Stable Diffusion:VQGAN编码器为何仍是AIGC的幕后功臣?
  • 大模型智能体与MCP(三) 使用ollama本地部署Deepseek R1 32B模型
  • 一区Top/IF 8.3!六大老年数据库联合争议话题,澳门大学博士这篇文章真的赢麻了
  • 从复古游戏到电子墨水屏:聊聊Floyd-Steinberg抖动算法的那些神奇应用场景
  • 终极指南:如何用lunar-javascript构建专业级农历计算应用
  • STM32掉电保护实战:用PVD在断电瞬间保存关键数据(附HAL库代码)
  • ComfyUI ControlNet Aux:30+预处理器的AI绘画精准控制解决方案
  • 【仅限2026Q1有效】SITS2026圆桌推荐:5套可立即嵌入CI/CD的AIGC代码可信性校验工具链(含开源License兼容性清单)
  • 基于SPDConv(空间-深度卷积)-BiLSTM (双向长短期记忆神经网络)多变量时间序列预测
  • 别光刷题了!用这5个真实嵌入式项目片段,检验你的C语言功底到底扎不扎实