【建议收藏】RAG在AI体系中的位置与实现:从理论到代码实践

RAG是AI体系中的知识增强架构,为LLM提供外部知识检索能力,如同智能体的"外脑"。文章通过最小Python原型实现,展示RAG四步走流程:文本向量化、存储检索、相似匹配、生成回答。RAG能提升回答精度和可靠性,利用最新信息并减少模型幻觉,但会降低响应速度。读者可通过自建知识库、多文档检索和向量可视化等练习巩固知识。

一、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 更长。

限时免费!优快云 大模型学习大礼包开放领取!

从入门到进阶,助你快速掌握核心技能!

资料目录

  1. AI大模型学习路线图
  2. 配套视频教程
  3. 大模型学习书籍
  4. AI大模型最新行业报告
  5. 大模型项目实战
  6. 面试题合集

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

📚 资源包核心内容一览:

1、 AI大模型学习路线图

  1. 成长路线图 & 学习规划: 科学系统的新手入门指南,避免走弯路,明确学习方向。

img

2、配套视频教程

  1. 根据学习路线配套的视频教程:涵盖核心知识板块,告别晦涩文字,快速理解重点难点。

在这里插入图片描述

课程精彩瞬间

在这里插入图片描述

3、大模型学习书籍

在这里插入图片描述

4、 AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

5、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

6、大模型大厂面试真题

整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题,涵盖基础理论、技术实操、项目经验等维度,每道题都配有详细解析和答题思路,帮你针对性提升面试竞争力。

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值