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

吊打大模型幻觉!保姆级RAG原理+极简实战代码,新手一秒看懂

吊打大模型幻觉保姆级RAG原理极简实战代码新手一秒看懂前言拒绝晦涩干货通俗讲透RAG很多小伙伴初学大模型的时候都会遇到一个让人崩溃的问题AI瞎编乱造问它最新技术它一问三不知问它专业知识点它张口就来编得有模有样假数据、假理论一套接一套也就是业内俗称的模型幻觉。还有一个致命痛点大模型的知识是“过期”的模型训练数据有固定截止时间训练完就“闭关锁国”后续的新知识、自己的私有文档、公司内部资料它一概不知。难道就没办法治这两个毛病吗当然有RAG 检索增强生成就是目前工业界最优解没有之一今天不整晦涩公式、不堆枯燥理论用大白话讲透RAG核心原理再附上可直接复制运行的极简代码新手零基础也能轻松拿捏一、到底什么是RAG大白话通俗易懂RAG 全称Retrieval-Augmented Generation 检索增强生成。别被专业名词劝退它的核心逻辑超级简单一句话总结不让AI死记硬背所有知识让AI学会“翻书查资料”再答题。我们可以把纯大模型和RAG做个超形象对比传统大模型闭卷考试所有知识全靠考前背诵训练数据背过的能答没背过的、新知识直接瞎编凑答案。RAG增强模型开卷考试考场自带参考书私有知识库遇到问题先翻书找对应知识点照着资料答题零瞎编、答案精准、支持新知识。这也是为什么现在所有AI问答、智能知识库、企业AI客服全部都在基于RAG开发的核心原因二、深度拆解RAG完整工作流程全程无废话很多教程把RAG讲得极其复杂其实它全程就分为两大阶段、七个步骤看完彻底通透阶段一索引构建阶段提前准备知识库只做一次核心目的把杂乱的文档变成AI能快速检索的“结构化素材库”文档加载导入我们的私有文档、笔记、技术资料等原始文本内容。文本切块Chunk再长的文档AI都吃不下所以要把长文本切割成短小精悍的小块方便后续精准检索。向量化嵌入Embedding这是RAG的灵魂把每一句自然语言转换成高维数字向量。语义越相似的内容向量距离越近让AI能读懂文字含义而不是单纯匹配关键字。向量库存储将生成的向量原始文本存入向量数据库FAISS、Milvus等完成知识库搭建。阶段二推理问答阶段用户提问时实时执行核心目的基于用户问题精准匹配资料生成靠谱答案问题向量化把用户的提问同样转换成向量格式。相似度检索在向量库中对比距离召回Top-N语义最匹配的文本片段精准定位答案素材。拼接prompt生成答案把「用户问题检索到的权威上下文」打包发给大模型强制AI只参考给定资料作答彻底杜绝幻觉三、RAG到底强在哪碾压传统大模型的4大优势为什么企业落地AI项目首选RAG而不是微调模型性价比直接拉满根治模型幻觉所有答案有据可查拒绝凭空编造准确率大幅提升。知识实时更新新增资料只需更新向量库不用重新训练、微调大模型省时省力。低成本私有化本地部署专属知识库公司机密文档、私人资料不会外泄安全性拉满。低门槛高收益对比模型微调RAG无需超高算力、不用海量标注数据新手也能快速落地。四、极简可落地代码直接复制运行废话不多说上干货这是我精简后的最简版RAG代码去除所有冗余逻辑注释清晰零基础也能跑通。1. 环境依赖安装一键安装所需所有依赖终端直接执行pipinstallopenai langchain faiss-cpu langchain-openai2. 完整可运行代码fromlangchain_openaiimportOpenAIEmbeddings,ChatOpenAIfromlangchain_community.vectorstoresimportFAISSfromlangchain.text_splitterimportCharacterTextSplitterfromlangchain.schemaimportDocumentfromlangchain_core.promptsimportPromptTemplatefromlangchain_core.runnablesimportRunnablePassthroughfromlangchain_core.output_parsersimportStrOutputParser# 1. 配置密钥与模型替换为自己的key即可OPENAI_API_KEY你的API_KEYembedding_modelOpenAIEmbeddings(api_keyOPENAI_API_KEY)# temperature0 杜绝随机瞎编保证回答严谨llmChatOpenAI(api_keyOPENAI_API_KEY,modelgpt-3.5-turbo,temperature0)# 2. 自定义私有知识库可替换成任意自己的文本资料knowledge_text RAG 全称检索增强生成是解决大模型幻觉与知识滞后的核心方案。 RAG 分为索引阶段和推理阶段两大核心环节。 索引阶段文档加载、文本切块、向量化、存入向量数据库。 推理阶段问题向量化、相似度检索、上下文拼接、大模型生成答案。 主流向量数据库FAISS、Chroma、Milvus、Qdrant。 嵌入模型作用是将自然语言转为稠密向量实现语义相似度匹配。 # 3. 文本切块处理text_splitterCharacterTextSplitter(chunk_size100,chunk_overlap20)docs[Document(page_contentknowledge_text)]split_docstext_splitter.split_documents(docs)# 4. 构建本地FAISS轻量向量库无需额外部署本地直接运行vector_storeFAISS.from_documents(split_docs,embedding_model)# 每次召回2条最相关内容平衡精度和上下文长度retrievervector_store.as_retriever(search_kwargs{k:2})# 5. 自定义RAG提示词强制模型基于上下文作答rag_promptPromptTemplate.from_template( 请严格根据下方参考上下文回答问题禁止编造任何未知内容不知道就如实说明。 参考上下文{context} 用户问题{question} )# 6. 组装完整RAG链路rag_chain({context:retriever,question:RunnablePassthrough()}|rag_prompt|llm|StrOutputParser())# 7. 测试运行if__name____main__:questionRAG包含哪两个核心阶段resrag_chain.invoke(question)print(✅ RAG智能回答,res)五、核心代码逻辑精讲看懂才算真学会很多小伙伴只会跑代码不懂原理这里重点拆解核心细节chunk_size 切块大小文本切分核心参数太小信息碎片化太大检索精度低新手默认100-200即可。chunk_overlap 重叠量相邻文本块预留重叠内容避免关键信息被切割拆分遗漏核心知识点。FAISS向量库Meta开源轻量向量库零部署成本、运行速度快是新手入门首选。temperature0关闭模型创造性只输出精准、客观的答案彻底告别幻觉。k2 召回数量每次匹配2条最优上下文既保证信息充足又不会超出模型上下文限制。六、面试amp;进阶必看RAG优化方向掌握上面的基础版RAG足以入门想要进阶提升、应对面试、落地项目这几个优化点必须掌握智能分块优化替换基础切割工具使用RecursiveCharacterTextSplitter根据语义智能分割效果远超固定长度切块。检索重排序Rerank向量检索后通过重排模型对结果二次打分筛选过滤无关内容大幅提升答案精度。混合检索策略向量语义检索 关键词检索结合兼顾语义匹配和精准词条匹配召回率拉满。离线私有化部署替换为Ollama本地模型全程无API、无网络、完全免费离线运行实现私有化RAG项目。向量库持久化保存FAISS向量文件无需每次运行重复向量化大幅提升运行效率。七、总结RAG作为当前AI落地的核心刚需技术没有复杂的底层逻辑核心就是「先检索、后生成」。它用最低的成本解决了大模型幻觉、知识滞后、私有化落地三大痛点不管是求职面试、项目实战、个人开发都是必学技能看完这篇相信你已经彻底搞懂RAG原理还能直接上手写代码落地后续我会更新Ollama本地离线RAG、RAG进阶优化、企业级RAG项目实战感兴趣可以关注一波有问题欢迎评论区交流看到都会回复

相关文章:

吊打大模型幻觉!保姆级RAG原理+极简实战代码,新手一秒看懂

吊打大模型幻觉!保姆级RAG原理极简实战代码,新手一秒看懂 前言:拒绝晦涩干货,通俗讲透RAG 很多小伙伴初学大模型的时候,都会遇到一个让人崩溃的问题:AI瞎编乱造! 问它最新技术,它一问…...

音乐标签管理革命:告别混乱,拥抱智能音乐库

音乐标签管理革命:告别混乱,拥抱智能音乐库 【免费下载链接】music-tag-web 音乐标签编辑器,可编辑本地音乐文件的元数据(Editable local music file metadata.) 项目地址: https://gitcode.com/gh_mirrors/mu/music…...

智读致用|《一人企业》4|扩张不是战略,活下来才是

系列:《一人企业》读书笔记 第4章 书名:《一人企业:一个人也能赚钱的商业新模式》 作者:保罗贾维斯(Paul Jarvis) 所有人都在教你怎么做大。 融资、招人、开分公司、冲GMV——这套叙事太熟悉了&#xff0c…...

RSA参数生成实战秘籍:rsatool带你掌握密码学核心技能

RSA参数生成实战秘籍:rsatool带你掌握密码学核心技能 【免费下载链接】rsatool rsatool can be used to calculate RSA and RSA-CRT parameters 项目地址: https://gitcode.com/gh_mirrors/rs/rsatool 在密码学领域,RSA算法无疑是现代安全通信的基…...

Cursor AI编辑器使用体验优化方案:智能配置管理与功能扩展技术解析

Cursor AI编辑器使用体验优化方案:智能配置管理与功能扩展技术解析 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reac…...

原神帧率解锁终极指南:如何轻松突破60FPS限制享受流畅游戏体验

原神帧率解锁终极指南:如何轻松突破60FPS限制享受流畅游戏体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否厌倦了《原神》PC版60FPS的限制?当你的高刷新…...

Divinity Mod Manager:彻底解决《神界:原罪2》模组管理难题的完整方案

Divinity Mod Manager:彻底解决《神界:原罪2》模组管理难题的完整方案 【免费下载链接】DivinityModManager A mod manager for Divinity: Original Sin - Definitive Edition. 项目地址: https://gitcode.com/gh_mirrors/di/DivinityModManager …...

WeDLM-7B-Base GPU部署:NVIDIA Triton推理服务器封装与批量请求优化

WeDLM-7B-Base GPU部署:NVIDIA Triton推理服务器封装与批量请求优化 1. 模型概述与核心优势 WeDLM-7B-Base是一款基于扩散机制(Diffusion)的高性能基座语言模型,拥有70亿参数规模。该模型在标准因果注意力机制下实现了并行掩码恢…...

如何快速掌握音频频谱分析:Spek声学工具终极指南

如何快速掌握音频频谱分析:Spek声学工具终极指南 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 你是否曾经好奇音乐中的高低频分布?或者想检查录音中的噪声问题?Spek就是你的答…...

D3KeyHelper:如何用智能按键管理解决暗黑3的五大操作难题

D3KeyHelper:如何用智能按键管理解决暗黑3的五大操作难题 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 在暗黑破坏神3的高强度游戏体验…...

FLUX.1-Krea-Extracted-LoRA快速上手:bash /root/start.sh启动原理与日志查看方法

FLUX.1-Krea-Extracted-LoRA快速上手:bash /root/start.sh启动原理与日志查看方法 1. 模型概述 FLUX.1-Krea-Extracted-LoRA 是一款基于 FLUX.1-dev 基础模型的真实感图像生成模型,通过提取的 LoRA 风格权重为图像注入专业摄影级别的真实感美学。该模型…...

单片机软件架构实战:从新手到高手的9种设计模式

1. 单片机软件架构入门&#xff1a;从main函数到模块化设计 刚接触单片机编程时&#xff0c;我们往往从一个简单的main函数开始。记得我第一次用51单片机点亮LED时&#xff0c;代码简单到只有十几行&#xff1a; #include <reg51.h> void main() {while(1) {P1 0x00; …...

基于Harness Engineering的零代码AI智能体开发平台Nexent深度解析

1. 项目概述&#xff1a;当“零代码”遇上“工程化”&#xff0c;AI智能体开发的新范式 最近在AI应用开发圈子里&#xff0c;一个词被反复提及&#xff1a; Agentic AI &#xff0c;或者说智能体。大家可能都体验过ChatGPT这类对话模型&#xff0c;它们能回答问题、写写代码&…...

AI智能体如何自主操作GitHub仓库:从代码理解到自动化PR全流程解析

1. 项目概述&#xff1a;当GitHub仓库成为你的AI智能体最近在AI应用开发圈里&#xff0c;一个名为open-gitagent/gitagent的项目开始被频繁提及。乍一看&#xff0c;它像是一个普通的GitHub仓库&#xff0c;但当你深入其中&#xff0c;会发现它试图解决一个非常具体且前沿的问题…...

基于Cognita框架构建企业级RAG知识库:从原理到生产部署全解析

1. 项目概述&#xff1a;当向量数据库遇上RAG&#xff0c;Cognita如何重塑企业知识管理最近在折腾企业内部的文档智能问答系统&#xff0c;相信很多同行都踩过类似的坑&#xff1a;费劲把PDF、Word、PPT这些非结构化文档灌进向量数据库&#xff0c;然后基于RAG&#xff08;检索…...

别再用FR4不行了!实测12G-SDI在普通PCB板材上的完整布线指南(附阻抗计算与AntiPad避坑)

别再用FR4不行了&#xff01;实测12G-SDI在普通PCB板材上的完整布线指南&#xff08;附阻抗计算与AntiPad避坑&#xff09; 在高速数字视频传输领域&#xff0c;12G-SDI作为4K/60fps内容的主流接口标准&#xff0c;其PCB设计一直被视为需要特殊高频板材的"贵族技术"。…...

5步完成高效MOOC课程离线下载:MoocDownloader终极指南

5步完成高效MOOC课程离线下载&#xff1a;MoocDownloader终极指南 【免费下载链接】MoocDownloader An MOOC downloader implemented by .NET. 一枚由 .NET 实现的 MOOC 下载器. 项目地址: https://gitcode.com/gh_mirrors/mo/MoocDownloader 您是否曾因网络不稳定而无法…...

Qianfan-OCR识别结果后处理实战:正则表达式与自然语言处理技巧

Qianfan-OCR识别结果后处理实战&#xff1a;正则表达式与自然语言处理技巧 1. 引言&#xff1a;为什么需要OCR后处理 OCR技术虽然已经相当成熟&#xff0c;但在实际应用中&#xff0c;识别结果往往存在各种问题。你可能遇到过这样的情况&#xff1a;从名片上扫描的电话号码多…...

AltSnap:Windows窗口管理革命,5分钟掌握高效桌面操作

AltSnap&#xff1a;Windows窗口管理革命&#xff0c;5分钟掌握高效桌面操作 【免费下载链接】AltSnap Maintained continuation of Stefan Sundins AltDrag 项目地址: https://gitcode.com/gh_mirrors/al/AltSnap 你是否曾在Windows中为精确点击窗口标题栏而烦恼&#…...

CSS 属性选择器

CSS 属性选择器 CSS 属性选择器是一种用于选择具有特定属性值的元素的选择器。通过属性选择器,开发者可以更加精确地控制页面中特定元素的外观和行为。本文将详细介绍 CSS 属性选择器的概念、使用方法和示例。 一、属性选择器的概念 属性选择器允许开发者根据元素所具有的属…...

Fairseq-Dense-13B-Janeway部署教程:开源可部署+GPU算力适配+镜像免配置三大优势实证

Fairseq-Dense-13B-Janeway部署教程&#xff1a;开源可部署GPU算力适配镜像免配置三大优势实证 1. 模型概述 Fairseq-Dense-13B-Janeway 是 KoboldAI 发布的 130 亿参数创意写作大模型&#xff0c;专门针对科幻与奇幻题材进行优化。该模型使用 2210 本科幻与奇幻题材电子书进…...

OpenModScan:工业自动化工程师必备的免费Modbus调试工具终极指南

OpenModScan&#xff1a;工业自动化工程师必备的免费Modbus调试工具终极指南 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan是一款功能强大的免费开源Modb…...

LFM2.5-1.2B-Instruct行业落地:跨境电商多语言商品描述自动生成

LFM2.5-1.2B-Instruct行业落地&#xff1a;跨境电商多语言商品描述自动生成 1. 模型介绍与部署准备 LFM2.5-1.2B-Instruct是一个1.2B参数量的轻量级指令微调大语言模型&#xff0c;特别适合在边缘设备或低资源服务器上运行。该模型支持8种主流语言&#xff0c;包括英语、中文…...

从数据标注到模型部署:基于YOLOv8+RT-DETR的车道抛洒物检测保姆级全流程(含labelImg使用教程)

车道抛洒物检测实战&#xff1a;从零构建YOLOv8与RT-DETR融合模型 项目背景与核心价值 高速公路和城市道路上突然出现的抛洒物&#xff08;如碎石、货物残渣、轮胎碎片&#xff09;是引发交通事故的重要隐患。传统人工巡检方式效率低下且成本高昂&#xff0c;而基于深度学习的实…...

Element UI项目里藏了个老版本lodash?手把手教你排查和修复这个原型污染漏洞

Element UI项目中隐藏的lodash漏洞&#xff1a;从定位到修复的完整指南 引言 最近一次例行安全扫描后&#xff0c;我的团队收到了一个令人不安的警报&#xff1a;我们的Vue项目存在lodash原型污染漏洞。奇怪的是&#xff0c;项目package.json中根本没有直接声明lodash依赖。经过…...

Nano-Banana Studio惊艳效果:复古画报风Sportswear suit爆炸图生成实录

Nano-Banana Studio惊艳效果&#xff1a;复古画报风Sportswear suit爆炸图生成实录 1. 引言&#xff1a;当AI遇见复古时尚设计 想象一下这样的场景&#xff1a;你正在为一款运动套装设计宣传材料&#xff0c;想要展示服装的每一个细节——从缝线工艺到面料纹理&#xff0c;从…...

Alice-Tools终极指南:如何快速破解游戏资源编辑的三大难题

Alice-Tools终极指南&#xff1a;如何快速破解游戏资源编辑的三大难题 【免费下载链接】alice-tools Tools for extracting/editing files from AliceSoft games. 项目地址: https://gitcode.com/gh_mirrors/al/alice-tools 你是否曾经因为无法打开游戏的特殊文件格式而…...

像素剧本圣殿实操手册:Qwen2.5-14B-Instruct输出剧本导入Final Draft兼容性测试

像素剧本圣殿实操手册&#xff1a;Qwen2.5-14B-Instruct输出剧本导入Final Draft兼容性测试 1. 工具介绍与核心功能 像素剧本圣殿&#xff08;Pixel Script Temple&#xff09;是一款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具。这个工具将AI强大的文本生成能…...

TEdit地图编辑器完全指南:如何用开源工具10倍提升泰拉瑞亚建造效率

TEdit地图编辑器完全指南&#xff1a;如何用开源工具10倍提升泰拉瑞亚建造效率 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also…...

生成式AI安全攻防实战:从提示注入到对抗样本的防御指南

1. 项目概述&#xff1a;当生成式AI成为攻击目标最近在安全圈和AI圈的交汇处&#xff0c;一个名为mbrg/genai-attacks的项目引起了我的注意。乍一看这个标题&#xff0c;你可能会想&#xff1a;生成式AI攻击&#xff1f;是AI去攻击别人&#xff0c;还是AI本身被攻击&#xff1f…...