新闻详情

新闻详情

首页 / 资讯中心 / 详情

【RAG面试系列】工程落地

发布时间:2026/10/3 12:35:01来源:尧图网络
【RAG面试系列】工程落地
RAG工程落地1. 如果让你从零设计一个生产级 RAG 系统你会怎么设计2. RAG 系统的延迟和成本如何优化2.1 延迟优化目标端到端 2 秒2.2 成本优化3. 如何保证数据更新后系统能及时反映4. 多租户/权限场景下RAG 如何做数据隔离5. 如何监控和观测 RAG 系统在生产环境的表现前面我们已经讲解了【RAG面试系列】基础概念、【RAG面试系列】检索优化、【RAG面试系列】生成和融合接下来我们来聊聊 RAG工程落地。1. 如果让你从零设计一个生产级 RAG 系统你会怎么设计全链路设计框架┌─────────────────────────────────────────────────────────────────┐ │ 生产级 RAG 系统架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ 数据层 │ │ │ │ 多源接入 → 文档解析 → 智能切分 → 元数据提取 → 向量化 │ │ │ │ (PDF/HTML/DB/API) (语义切分) (来源/时间/权限) │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ 索引层 │ │ │ │ 向量索引(HNSW) 关键词索引(BM25) 元数据索引 │ │ │ │ 增量更新 版本管理 多租户隔离 │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ 检索层 │ │ │ │ 查询改写 → 混合检索 → 粗排(Top-100) → 精排(Rerank) │ │ │ │ → 相关性过滤 → 上下文压缩 → Top-5 注入 │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ 生成层 │ │ │ │ Prompt 模板 → LLM 推理 → 引用标注 → 后处理 → 返回 │ │ │ │ 分级模型路由(简单→小模型复杂→大模型) │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ 评估与运维层 │ │ │ │ RAGAS 评估 → 链路追踪 → 用户反馈 → A/B 测试 │ │ │ │ 缓存管理 → 限流熔断 → 告警 → 成本监控 │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘关键技术选型建议组件推荐方案向量数据库Qdrant自托管或 pgvector已有 PGEmbeddingBGE-M3多语言稀疏稠密RerankerBGE-Reranker-v2-m3LLMGPT-4o / Claude 3.5 SonnetAPI或 DeepSeek-V3自部署评估RAGAS追踪LangFuse开源缓存Redis语义缓存2. RAG 系统的延迟和成本如何优化瓶颈点定位流程用分布式追踪如 LangSmith/LangFuse/Jaeger给每个环节打点典型瓶颈分布Embedding 生成50-200ms→ 向量检索10-50ms→ Rerank200-500ms→ LLM 生成500-2000ms定位方法逐环节计时找出占比最大的环节针对性优化2.1 延迟优化目标端到端 2 秒优化点做法收益Embedding 缓存对常见查询的向量结果做缓存30-40% 查询命中语义缓存对相似查询非完全相同复用之前的 LLM 回答额外 10-20% 命中模型蒸馏/量化用更小的 Embedding 模型384 维替代 1024 维或量化检索延迟减半索引优化HNSW 参数调优M/efConstruction/efSearch10-50ms 优化批处理离线 Embedding 生成时批量调用 API离线阶段加速异步流水线检索和生成并行化如边检索边准备 Prompt减少串行等待流式输出LLM 生成用 streaming用户感知延迟更低体验优化2.2 成本优化优化点做法收益Rerank 选择性使用简单查询跳过 Rerank复杂查询才启用降低 30-50% Rerank 成本上下文压缩检索后先摘要再注入减少 Prompt token降低 40-60% LLM 成本分级模型简单问题用小模型复杂问题用大模型路由降低 50-70% 平均成本缓存 LLM 响应精确匹配语义匹配缓存降低 30-40% LLM 调用3. 如何保证数据更新后系统能及时反映方案做法优点缺点全量重建索引定期如每天凌晨全量重建向量索引简单可靠大规模数据耗时长、更新不及时增量索引新增/修改/删除文档时只更新对应 chunk实时性好需要维护变更检测机制版本化索引维护多个索引版本切换时原子替换可回滚、灰度发布存储翻倍实时流式文档变更通过消息队列Kafka触发实时 re-embedding秒级延迟架构复杂最佳实践文档量 10 万全量重建每天一次非高峰期执行文档量 10 万-100 万增量更新 每周全量校验文档量 100 万增量更新 消息队列驱动 定期全量对账关键数据加时间戳元数据支持查最新版本和查历史版本补充Embedding 模型升级的兼容性问题模型升级后新旧向量不兼容需全量重新 embedding生产方案维护双索引灰度切换验证通过后再下线旧索引增量更新时需注意新文档用新模型旧文档用旧模型会导致向量空间不一致4. 多租户/权限场景下RAG 如何做数据隔离三种隔离方案方案做法优点缺点独立索引物理隔离每个租户独立的向量库/Collection最强隔离、不会串数据资源浪费、维护成本高元数据过滤逻辑隔离所有租户共享索引检索时加 tenant_id 过滤资源共享、成本低过滤条件可能影响召回性能混合方案大租户独立索引小租户共享元数据过滤平衡成本与安全实现复杂权限感知检索流程用户查询 │ ▼ 获取用户权限列表租户ID、可访问文档范围 │ ▼ 向量检索 元数据过滤tenant_id IN [user_tenants] │ ▼ 细粒度权限过滤文档级/段落级 ACL 检查 │ ▼ Rerank 生成关键设计点元数据过滤在向量检索阶段就生效pre-filtering而非检索后再过滤post-filtering避免召回不足权限信息缓存Redis避免每次检索都查权限服务审计日志记录每次检索的租户和文档范围补充RAG 的安全与合规Prompt Injection 防护检索到的文档可能包含恶意指令如忽略之前的指令需在 Prompt 中明确文档内容不可信或对检索内容做清洗数据泄露防护检索结果可能包含敏感信息需在生成前做内容过滤内容审核检索到的内容可能包含不当信息需建立内容审核机制5. 如何监控和观测 RAG 系统在生产环境的表现监控维度维度指标工具/方法检索质量Context Precision、Context Recall、检索延迟RAGAS 定期评估生成质量Faithfulness、Answer Relevancy、幻觉率RAGAS 人工抽检系统性能端到端延迟P50/P95/P99、QPS、错误率Prometheus Grafana成本Token 消耗Embedding LLM、API 调用次数账单监控用户反馈点赞/点踩率、重复提问率、会话完成率产品埋点可观测性三支柱Trace链路追踪用 LangSmith / LangFuse / Arize 追踪每次查询的完整链路Query → Embedding → Retrieval → Rerank → LLM → Response定位瓶颈和失败环节Log日志记录每次查询的原始问题、检索结果、最终回答、用户反馈Evaluation评估定期每天/每周用 RAGAS 跑评估集监控指标趋势告警设置Faithfulness 0.85 → 告警可能存在幻觉增多P95 延迟 3s → 告警性能退化错误率 1% → 告警用户点踩率突增 → 告警A/B 测试新版本上线前用 A/B 测试对比新旧方案分流 5-10% 流量到实验组对比核心指标Faithfulness、延迟、用户满意度显著提升后全量切换
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

中望3D钣金:轮廓凸缘 2026/10/3 12:52:02

中望3D钣金:轮廓凸缘

首先创建一个基体平板,然后选择要创建非标准造型法兰的边。单击“编辑轮廓”按钮

阅读更多 →
苹果Mac电脑玩我的世界没有版本?用PCL-R即可! 2026/10/3 12:51:30

苹果Mac电脑玩我的世界没有版本?用PCL-R即可!

玩《我的世界》的 Mac 用户应该都懂这个痛点:PCL2 启动器原生只支持 Windows,官方没有 Mac 版本。 网上方案翻遍了,无非几种: 装 Parallels / VMware 虚拟机,开销巨大,M 芯片 Mac 发热严重、掉帧&#xff…

阅读更多 →
中望3D钣金:拉伸凸缘 2026/10/3 12:51:23

中望3D钣金:拉伸凸缘

该命令通过草图创建凸缘(支持开放和闭合草图)1.创建一个开放草图2.拉伸凸缘注意:若草图已有半径,半径选项将不生效.带闭合草图轮廓的拉伸凸缘注意:如果切口点是空白的,那么它将创建一个不能展开的封闭形状 …

阅读更多 →
LeetCode.1047.删除字符串中的所有相邻重复项 2026/10/3 12:50:05

LeetCode.1047.删除字符串中的所有相邻重复项

题目给出由小写字母组成的字符串 s,重复项删除操作 会选择两个相邻且相同的字母,并删除它们。在 s 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。就是用栈去遍历,碰上…

阅读更多 →
html学习第二天 2026/10/3 12:50:05

html学习第二天

1.ctrl shift /- 使vscode界面扩大/缩小 相对路径:相对于当前位置 2.本地绝对路径:src“E:/demo1/demo2/xxx.jpg” 3.网络绝对路径:src“图片地址,例如: https://i-blog.csdnimg.cn/direct/e7ea10edf06c4907a2ae713e0…

阅读更多 →
LeetCode.020.有效的括号 2026/10/3 12:49:18

LeetCode.020.有效的括号

题目给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉