news 2026/5/1 9:51:49

【深度收藏】RAG入门到精通:最小可运行代码示例,让大模型不再“胡说八道“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【深度收藏】RAG入门到精通:最小可运行代码示例,让大模型不再“胡说八道“

RAG(检索增强生成)是为大模型提供外部知识检索的关键架构,相当于为LLM外接"知识图书馆"。文章通过最小Python原型实现,演示了将文本转为向量、存储到FAISS数据库、检索相似内容并生成回答的完整流程。RAG能提升模型准确性、反映最新信息并减少"幻觉",但会增加响应时间。适合企业级应用,让AI Agent能够基于项目专有信息作答,无需重新训练模型。

〇、RAG 在 AI 体系中的位置

在 AI 发展路径上,RAG(Retrieval-Augmented Generation) 属于 “知识增强型生成模型” (Generative AI with external memory)。这里也熟悉一下其他几个概念,以示区分。

  • AI(Artificial Intelligenc):从规则到深度学习的总体范畴。
  • AI Agent:具备感知→决策→行动能力的自治体,可在环境中执行任务。
  • Agentic AI:下一代智能体,强调持续记忆、自主计划、工具调用、多智能体协作。
  • RAG:为生成式模型提供外部知识检索能力的关键架构。它不是智能体,但是智能体的知识接口

换句话说:

LLM大模型 是“大脑”,RAG 是“图书馆”,Agentic AI 是“行动者”。

掌握 RAG 的核心,就能为 AI Agent 提供企业级“外脑”——让它在项目资料、知识库中检索信息再作答。本篇就 基础原理 + 最小原型实现 来理解 RAG 的完整数据流,并且用一段最小可运行的 Python 代码,体验它如何把知识“喂给”大模型。


一、RAG 的核心思想

LLM(大语言模型)很聪明,但也健忘。它在训练时学了全世界几乎所有的知识,却不知道你项目里的专有信息。RAG 就是为它“外接一个知识图书馆”。流程如下:

这就是“检索增强生成”四步走:


二、最小 RAG 原型设计

我们用一个极简 Python 原型(不依赖复杂框架),体会核心机制。组件如下:

模块功能示例
Embedding 模型把文本转成向量text-embedding-3-small
向量数据库存储向量并做相似度搜索FAISS
LLM生成回答GPT-4
Pipeline输入 → 检索 → 拼接 → 输出自行编写

三、最小可运行代码(Python + OpenAI + FAISS)

以下是教学级别的 RAG Demo,几行代码即可跑通。

⚙️ 依赖:pip install openai faiss-cpu numpy

from openai import OpenAI import faiss import numpy as np # 初始化模型 client = OpenAI(api_key="替换为你的OpenAI API Key") # 1. 知识库文本 docs = [ "SAP RAP uses CDS views and behavior definitions to define business objects.", "In ABAP, EML stands for Entity Manipulation Language used in RAP.", "RAG (Retrieval Augmented Generation) combines external retrieval with LLM generation." ] # 2. 生成向量并构建索引 embeddings = [client.embeddings.create(input=d, model="text-embedding-3-small").data[0].embedding for d in docs] index = faiss.IndexFlatL2(len(embeddings[0])) index.add(np.array(embeddings).astype("float32")) # 3. 输入问题 query = "What is the relationship between RAP and EML?" query_emb = client.embeddings.create(input=query, model="text-embedding-3-small").data[0].embedding # 4. 检索最相似文本 _, I = index.search(np.array([query_emb]).astype("float32"), k=2) retrieved_docs = [docs[i] for i in I[0]] # 5. 拼接上下文并让 GPT 生成回答 context = "\n".join(retrieved_docs) prompt = f"""You are an SAP expert. Use the following context to answer the question. Context: {context} Question: {query} """ answer = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}] ) print(answer.choices[0].message.content) C:\Users\MengYuxin\myLearning\AI\rag_study> python hello_rag.py

四、运行后会发生什么

假设输入:

“What is the relationship between RAP and EML?”

模型会检索到:

- RAP uses CDS and behavior definitions. - EML stands for Entity Manipulation Language used in RAP.

然后生成类似输出:

“In RAP, the Entity Manipulation Language (EML) provides a structured way to perform CRUD operations on business objects defined via CDS and behavior definitions.”

🎯 这就是 RAG 的核心作用:让模型引用真实知识,而不是编造答案。


五、应用RAG的优缺点

优点:

・反映最新信息:即使 LLM 的训练数据未更新,也能根据最新资料给出回答。

・提升精度与可靠性:通过引用外部信息,能抑制模型回答中的错误(幻觉),让依据更清晰。

・充分利用企业数据:可利用公司内部文档等高机密信息,实现高精度回答。

・简化学习过程:无需额外训练模型,就能轻松反映最新信息。

缺点:

・回答速度下降:因为需要同时进行“检索”和“生成”两个过程,响应时间通常比单一 LLM 更长。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 11:28:12

Open-AutoGLM多任务调度性能提升80%的秘密(内部架构首次公开)

第一章:Open-AutoGLM多任务调度性能提升80%的秘密(内部架构首次公开)Open-AutoGLM 通过重构其核心调度引擎,在真实业务负载测试中实现了多任务并发处理性能提升达80%。这一突破性进展源于其全新的分层感知调度器(LAS&a…

作者头像 李华
网站建设 2026/5/1 7:09:06

Open-AutoGLM压缩技术揭秘:为何它能突破内存瓶颈?

第一章:Open-AutoGLM压缩技术揭秘:为何它能突破内存瓶颈?Open-AutoGLM 作为新一代大语言模型压缩框架,其核心目标是在不显著损失模型性能的前提下,大幅降低推理时的显存占用。这一能力的关键在于它融合了结构化剪枝、量…

作者头像 李华
网站建设 2026/5/1 6:09:55

从云端到终端的跨越,Open-AutoGLM轻量化部署的6步极简路径

第一章:从云端到终端的跨越,Open-AutoGLM轻量化部署的6步极简路径在边缘计算与终端智能迅速发展的背景下,将大语言模型从云端高效迁移至本地设备成为关键挑战。Open-AutoGLM 作为开源自动代码生成模型,其轻量化部署不仅能降低延迟…

作者头像 李华
网站建设 2026/5/1 7:08:27

复习——进程

进程相关知识点1. 进程的含义进程是一个正在执行的程序实例,是操作系统进行资源分配和调度的基本单位。关键点:PCB(Process Control Block):进程控制块,Linux中实现为task_struct结构体包含信息&#xff1a…

作者头像 李华
网站建设 2026/5/1 7:52:14

距离Open-AutoGLM开考还有12小时:这份终极 checklist 你必须拥有

第一章:距离Open-AutoGLM开考还有12小时:心态与环境准备 在面对Open-AutoGLM考试前的最后12小时,保持稳定的心态和高效的技术环境至关重要。这一阶段的重点不再是学习新知识,而是确保系统就绪、心理平稳,并为即将到来的…

作者头像 李华
网站建设 2026/5/1 7:49:02

为什么你的Open-AutoGLM跑不快?(端侧推理瓶颈深度剖析)

第一章:Open-AutoGLM端侧推理性能的现状与挑战随着边缘计算和终端智能设备的快速发展,大语言模型在端侧部署的需求日益增长。Open-AutoGLM作为面向轻量化场景设计的自回归语言模型,在移动设备、嵌入式系统等资源受限环境中展现出潜力。然而&a…

作者头像 李华