Skip to content

RAG 技术选型速查表

Embedding 模型怎么选、向量数据库用哪个、Agent 框架有什么区别。这篇整理常见选型问题,每项给默认推荐和一句话理由。


Embedding 模型

模型推荐场景理由
BAAI/bge-small-zh-v1.5🏆 中文 RAG 默认选择C-MTEB 前列,24MB,本地免费
BAAI/bge-large-zh-v1.5精度要求高1.3GB,精度最高但更慢
BAAI/bge-m3多语言 + 混合检索同时出 Dense + Sparse 向量,一套模型替代 Embedding + BM25
OpenAI text-embedding-3不想管模型部署云端,效果好,按 token 计费
all-MiniLM-L6-v2❌ 不推荐中文场景英文模型,中文语义理解差

默认推荐bge-small-zh-v1.5。开发阶段免费,效果够用。


向量数据库

数据库推荐场景理由
ChromaDB🏆 原型 / 小规模零配置,Python 几行代码跑起来
Milvus生产 / 亿级数据分布式,腾讯/华为生态,深圳 AI 岗最常见
Qdrant需要复杂过滤Rust 实现,payload 过滤能力最强
FAISS算法选型 / 嵌入式Meta 出品,不是数据库是算法库,速度极快

默认推荐:原型用 ChromaDB,生产上 Milvus。


Reranker(重排序模型)

模型推荐场景理由
BAAI/bge-reranker-v2-m3🏆 生产默认多语言,效果好
BAAI/bge-reranker-base本地开发1GB,比 v2-m3 小
Cohere Rerank不想管模型API 调用,效果好但按次计费

默认推荐:开发用 bge-reranker-base,生产用 bge-reranker-v2-m3

什么情况不需要 Reranker:数据量 < 1000 条,或者用户查询全是精确关键词(如内部 FAQ)。


Agent 框架

框架推荐场景理由
手写 ReAct🏆 简单 Agent200 行 Python,完全可控
LangGraph复杂多 Agent + 需要 HITL状态机模式,Checkpoint 和审计
CrewAI快速原型角色扮演式多 Agent,15 分钟出 demo
AutoGen微软生态对话式多 Agent,但维护模式(已 fork 为 AG2)
LlamaIndexRAG 专用内置很多 RAG 策略(Hierarchical Node Parser 等)

默认推荐:先用 200 行 Python 手写一个 ReAct Agent(理解本质),再根据复杂度选框架。


Chunking 策略

策略场景
Recursive Split(按分隔符递归)🏆 90% 场景的默认选择
Semantic Chunking(embedding 检测话题切换)长文档、话题变化频繁(成本高)
Small-to-Big(小 chunk 检索 + 大 chunk 送 LLM)需要精确检索 + 丰富上下文(存储翻倍)
固定大小 + 重叠简单场景

chunk_size:中文建议 300-500 字,英文 256-512 token。overlap 10-20%。


融合算法

方法场景
RRF (k=60)🏆 零标注数据的默认选择
加权融合有 50+ 标注数据
动态加权(查询分类)生产环境、查询类型多样

默认推荐:RRF。大多数公司永远不需要走到动态加权。


可观测 / 评估

工具用途
LangFuse全链路追踪(类比 Datadog for AI)
RAGASRAG 质量评估(Faithfulness / Context Precision / Recall)
Phoenix (Arize)Embedding 空间可视化,排查检索盲区

默认推荐:开发阶段用 LLM-as-Judge 快速评估(我的实现),生产环境上 LangFuse + RAGAS。


大模型 API

模型推荐场景理由
DeepSeek Chat🏆 中文 + 低成本中文好,价格低,兼容 OpenAI 格式
Claude (Anthropic)长文本、需要深度推理200K 上下文窗口
GPT-4o (OpenAI)综合能力最强贵但稳

默认推荐:DeepSeek。开发阶段成本可控。


总结:一套默认技术栈

Embedding: BAAI/bge-small-zh-v1.5(本地免费)
向量库:   ChromaDB(开发)→ Milvus(生产)
检索:     BM25 + Dense → RRF 融合
精排:     BAAI/bge-reranker-base
生成:     DeepSeek Chat
评估:     LLM-as-Judge(开发)→ RAGAS(生产)

这套技术栈的特点:成本低、中文好、可升级。我的 rag-project 就是这样搭的。