跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

微调模型成本太高?用 RAG 技术实现低成本 AI 升级

RAG 检索增强生成技术通过外挂知识库解决了大模型幻觉、知识滞后及数据安全问题。相比微调(SFT),RAG 无需重新训练模型即可更新知识,显著降低成本并提升准确性。 RAG 架构、核心流程、典型应用场景及局限性,提供基于 LangChain 的实战代码示例,帮助开发者快速落地低成本 AI 升级方案。

DevOpsTeam发布于 2026/4/10更新于 2026/7/2136 浏览
微调模型成本太高?用 RAG 技术实现低成本 AI 升级

微调模型成本太高?用 RAG 技术实现低成本 AI 升级

大语言模型(LLM)在落地应用时,企业往往面临一个两难选择:要么投入高昂成本进行全量微调(SFT),要么忍受通用模型的幻觉与知识滞后。检索增强生成(RAG, Retrieval-Augmented Generation)技术提供了一种折中且高效的解决方案。

一、大语言模型的三大痛点

在实际业务场景中,直接调用通用 LLM 常遇到以下问题:

1. 幻觉问题

LLM 基于概率预测下一个 token,并不真正理解语义。当遇到训练数据之外的知识时,它可能会一本正经地胡说八道。例如询问'太阳为什么从西边升起',模型可能编造地球自转改变的理由。

2. 时效性问题

模型训练成本高、周期长,导致其无法掌握实时信息。若训练数据截止于 2023 年,面对 2026 年的春节日期等最新问题,模型将无法回答。

3. 数据安全问题

通用模型通常运行在云端,企业敏感数据直接上传存在泄露风险。最佳实践是将数据留在本地,仅让在线模型处理脱敏后的归纳任务。

二、RAG 技术核心架构

RAG 的核心思想是'先检索,后生成'。就像学生考试时可以查阅课本一样,模型在回答问题前先检索外部知识库,再基于检索到的内容生成答案。

1. 检索器模块

检索器的作用是从海量文档中找到最相关的片段。这依赖于高质量的 Embedding 模型和向量数据库。构建时需解决语义表示准确性、查询与文档的语义空间对齐等问题。

from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings

# 初始化嵌入模型
embeddings = OpenAIEmbeddings()

# 创建向量数据库
documents = ["Python 学习资源 1...", "Python 学习资源 2..."]
db = FAISS.from_texts(documents, embeddings)

# 检索相关文档
query = "如何学习 Python"
docs = db.similarity_search(query, k=2)
for doc in docs:
    print(doc.page_content)

2. 生成器模块

生成器接收检索到的上下文和原始问题,组合成 Prompt 输入给 LLM。这使得生成的回答不仅流畅,而且有据可依。

from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate

llm = OpenAI(temperature=0)
prompt = PromptTemplate(
    input_variables=["context", "question"],
    template="基于以下上下文回答问题:\n{context}\n\n问题:{question}"
)

context = "Python 是一种高级编程语言,易于学习和使用。"
question = "Python 是什么?"
result = llm(prompt.format(context=context, question=question))
print(result)

三、RAG 的典型实现流程

落地 RAG 系统通常包含三个关键步骤:数据索引、数据检索、文本生成。

1. 数据索引

将私域数据向量化并建立索引。对于 PDF 等非结构化数据,需先提取文本,再进行分块(Chunking)和向量化。

import PyPDF2
from langchain.text_splitter import CharacterTextSplitter

def extract_text_from_pdf(pdf_path):
    text = ""
    with open(pdf_path, "rb") as f:
        reader = PyPDF2.PdfReader(f)
        for page in reader.pages:
            text += page.extract_text()
    return text

text = extract_text_from_pdf("example.pdf")
text_splitter = CharacterTextSplitter()
texts = text_splitter.split_text(text)

# 创建索引
db = FAISS.from_texts(texts, embeddings)
db.save_local("pdf_index")

2. 数据检索

根据用户 Query 在向量库中查找相似文档。支持元数据过滤、相似度检索等多种方式。

db = FAISS.load_local("pdf_index", embeddings)
query = "Python 学习教程"
docs = db.similarity_search(query, k=3)
for doc in docs:
    print(doc.page_content)

3. 文本生成

将检索结果与问题拼接,调用 LLM 生成最终回答。这是典型的 Prompt Engineering 过程。

from langchain.chains import RetrievalQA

qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=db.as_retriever()
)

result = qa_chain.run("如何学习 Python?")
print(result)

四、RAG 与 SFT 对比

维度RAG (检索增强)SFT (监督微调)
数据类型动态数据,可实时更新静态数据,更新需重新训练
外部知识利用擅长利用外部资源,适合文档库依赖预训练或微调数据
模型定制侧重信息整合,风格定制弱可调整语气、术语及特定领域知识
减少幻觉基于检索证据,幻觉较少仍可能产生幻觉
透明度高,可追溯数据来源低,黑盒性质
技术要求需高效检索策略与数据库维护需高质量数据集与算力

五、拓展方案与局限性

1. 多模态 RAG

不仅能处理文本,还能结合图像、音频。例如通过 CLIP 模型检索图片,辅助生成描述。

2. 实时 RAG

集成新闻 API 等实时数据源,确保回答紧跟热点。但需注意 API 调用的稳定性与成本。

3. 个性化 RAG

根据用户历史偏好调整检索策略,提供定制化服务。例如推荐电影时优先匹配用户喜欢的类型。

4. 存在的问题

  • 检索效果依赖:Embedding 质量直接影响检索精度,若语义表示不准,会引入噪声。
  • 利用机制黑盒:模型如何融合检索信息仍是黑盒,有时会出现检索了却未引用的情况。
  • 效率问题:无差别检索所有任务会增加输入长度,降低生成速度。
  • 事实查证:若数据源本身不可靠,RAG 也会传播错误信息。

六、总结

RAG 技术通过外挂知识库的方式,有效解决了大模型的知识滞后、幻觉及数据安全难题。相比昂贵的微调方案,RAG 实施成本低、更新灵活,是企业级 AI 落地的首选路径。开发者在落地时,应重点关注向量检索的质量优化与 Prompt 设计的合理性,以平衡性能与成本。

目录

  1. 微调模型成本太高?用 RAG 技术实现低成本 AI 升级
  2. 一、大语言模型的三大痛点
  3. 1. 幻觉问题
  4. 2. 时效性问题
  5. 3. 数据安全问题
  6. 二、RAG 技术核心架构
  7. 1. 检索器模块
  8. 初始化嵌入模型
  9. 创建向量数据库
  10. 检索相关文档
  11. 2. 生成器模块
  12. 三、RAG 的典型实现流程
  13. 1. 数据索引
  14. 创建索引
  15. 2. 数据检索
  16. 3. 文本生成
  17. 四、RAG 与 SFT 对比
  18. 五、拓展方案与局限性
  19. 1. 多模态 RAG
  20. 2. 实时 RAG
  21. 3. 个性化 RAG
  22. 4. 存在的问题
  23. 六、总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 AR 眼镜的亲戚称呼助手开发实战
  • 动态规划入门:线性 DP 四道经典题解析
  • Git 多人协作全流程实战:分支协同与冲突解决
  • 27 岁自学 Python 转行可行性与入行时机分析
  • llama-cpp-python 本地部署与配置实战指南
  • 北漂转行软件测试:从零开始的外企入职经验分享
  • C++ 类型转换详解
  • 为什么要学习模型和方法论
  • Spring 事务注解及传播机制详解
  • AIOps 实践:基于 Dify 与 LangBot 集成飞书智能体
  • 二叉搜索树详解:概念、性能及 C++ 实现
  • 学习 Python 的 10 个核心理由
  • 模拟算法题详解:替换问号、提莫攻击、Z 字形变换、外观数列与数青蛙
  • ARIS 开源:基于 Claude Code 的全自动科研与论文工作流
  • Whisper-large-v3 离线部署实战:摆脱 HuggingFace Hub 的网络依赖
  • Google 秘密计划曝光:AI 或取代人类程序员敲代码
  • LeetCode 热题 100 快速通关指南与核心算法模板
  • 滑动窗口算法实战:最大连续 1 的个数 III 与将 x 减到 0 的最小操作数
  • Python 网络爬虫高级应用与 Scrapy 框架实战
  • Python Django Web 框架实战:构建产品管理系统

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online