在构建生产级 AI 系统时,RAG(Retrieval-Augmented Generation)和 Agent 工程是核心组件。AI Engineering Hub 仓库提供了 93 + 个从初级到高级的实战教程,其中 RAG 与 Agent 项目特别丰富。通过分析这些教程,我们可以提炼出可扩展的 RAG 管道、混合检索策略以及 Agent 编排模式。这些模式已验证于真实场景,如文档聊天、代码查询和多模态处理,帮助工程团队快速落地生产系统。
可扩展 RAG 管道的核心架构
一个可扩展 RAG 管道需覆盖嵌入、索引、检索和生成四个环节。首先,选择高效嵌入模型至关重要。Hub 中的 ModernBERT RAG 项目推荐使用 ModernBERT 嵌入器,其维度 384,速度比传统 BERT 快 3 倍,支持本地部署。参数建议:max_length=512,chunk_size=512,overlap=50 tokens,确保知识块粒度适中。
索引使用向量数据库如 Qdrant 或 Milvus,后者如 Fastest RAG with Milvus and Groq 项目,实现检索延迟低于 15ms。初始化 Milvus 集合时,设置 metric_type='COSINE',index_type='HNSW',M=16,ef_construction=200。数据摄入时,批量 upsert 1000 chunks,提升吞吐。
检索阶段,top_k=4~6,similarity_threshold=0.75。若分数低于阈值,触发重排或 fallback。生成使用 LlamaIndex 或 LangChain,prompt 模板:"基于以下上下文 {context} 回答 {query}",temperature=0.1 确保确定性。
这些参数已在 Hub 的 Simple RAG Workflow 和 Fastest RAG Stack 中验证,可直接复制调整。
混合检索:提升召回鲁棒性
纯向量检索易遗漏,Hub 强调 hybrid retrieval。如 Agentic RAG 项目,将文档检索与 web fallback 结合:先本地 Qdrant 检索,若 top1 score<0.6,则调用 Tavily 或 Firecrawl 搜索补充。伪码示例:
if max_scores < 0.6:
web_results = search_web(query)
context = rerank(local_docs + web_results)
另一模式是 RAG-SQL Router:代理分类查询类型,若为结构化则路由 SQL,否则 RAG。使用 Qwen3-Coder 判断:"是数字汇总?是 / 否"。SQL 工具集成 DuckDB 或 PostgreSQL,query 如 "SELECT avg (salary) FROM employees WHERE dept='{dept}'"。
多模态扩展见 DeepSeek Multimodal RAG,支持图像 / 音频,AssemblyAI 转录后嵌入。
Agent 编排:多工具协作
Agent 是 RAG 的智能层,Hub 使用 CrewAI、AutoGen 和 MCP。CrewAI 适合流程化,如 Book Writer Flow:researcher→writer→editor 三代理,max_rpm=100(请求 / 分)。
MCP(Model Context Protocol)创新,如 MCP Agentic RAG:Cursor 集成,工具链 Firecrawl+Supabase。配置:tools=[rag_tool, web_tool, memory_tool],max_iterations=3 防循环。
内存管理用 Zep 或 Graphiti,实现会话持久:"user_id" 索引历史,TTL=24h。
AutoGen 示例:Stock Analyst,多代理辩论提升准确率。
生产落地参数与监控清单
-
性能阈值:
- 检索延迟 < 20ms(Milvus HNSW 优化)
- 生成 TTFT<500ms(Groq/LitServe)
- 吞吐 > 10 QPS(异步队列 Celery)
-
评估指标(Opik 集成):
- Faithfulness>0.85
- Relevance>0.8
- Answer correctness>0.9
- 基准数据集:RAGAS 或自定义 100 queries
-
部署清单:
- API:LitServe 或 FastAPI,Docker compose
- 监控:Prometheus+Grafana,警报 latency>1s
- 回滚:A/B 测试,shadow traffic 10%
- 安全:RAGuard 防注入,rate limit 50/min/IP
-
风险缓解:
- Hallucination:引用检查,fallback "无法确定"
- 成本:embed 缓存 Redis,TTL=1d
- 扩展:Kubernetes autoscaling,pod=2cpu/8G
示例部署命令:
lit-serve --model llama3.2 --port 8000
uvicorn app:app --workers 4
这些实践源于 Hub 高级项目,如 Deploy Agentic RAG,确保 > 99% uptime。
通过这些模式,团队可从原型到生产仅需一周。仓库持续更新,值得 star 跟踪。
资料来源:
- AI Engineering Hub:核心教程集。
- Agentic RAG 项目:"如 repo 中所示,先文档检索 fallback web 搜索。"