RAG vs 微调:两种AI定制方案怎么选

📘 AI教程 💬 🔥 Trending 发布者: leakey
RAG vs 微调:两种AI定制方案怎么选

🩺 摘要

想让AI懂你的业务数据,有两条路:RAG和微调。到底选哪个?很多人搞混了。

📝 详情

核心区别

RAG(检索增强生成):AI 从你的文档库里搜答案,不改变模型参数。微调:改变模型参数,让模型学会你的领域知识。

代码示例:RAG vs 微调

RAG 实现(约30行代码)

from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import HuggingFaceEmbeddings

# 1. 加载文档
docs = ["退货政策是30天内免费退货", "满200元包邮,不满200收10元运费"]

# 2. 向量化
embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5")
vectorstore = Chroma.from_texts(docs, embeddings)

# 3. 检索 + 回答
query = "退货政策是什么?"
results = vectorstore.similarity_search(query, k=2)
context = "\n".join([r.page_content for r in results])
prompt = f"基于以下文档回答:\n{context}\n问题:{query}"

微调(需要 GPU)

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

CUDA_VISIBLE_DEVICES=0 python src/train.py \
  --model_name_or_path Qwen/Qwen2.5-7B \
  --dataset train_data.json \
  --output_dir ./qwen-finetuned \
  --num_train_epochs 3 \
  --per_device_train_batch_size 1 \
  --learning_rate 2e-4

对比数据

维度 RAG 微调
实现难度 低(1天) 高(1-2周)
知识更新 换文档,即时生效 重新训练,耗时数小时
幻觉控制 低(引用原文) 中(可能记错)
推理成本 低 + 检索开销 同模型推理成本
GPU需求 不需要 至少12GB显存

最佳实践

先用RAG做起来,效果不够再加微调。 80%的场景RAG就够用,只有需要模型掌握深度领域知识(如医疗诊断)时才需要微调。推荐路线:RAG → Hybrid(RAG + 微调)→ 纯微调。