本篇 10 题|覆盖初级到高级|性能与大规模工程。先用自己的话回答,再核对参考要点,最后练习工程追问。

本篇目录
- RAG-131 RAG 延迟应该怎样拆分?
- RAG-132 如何设置各阶段超时?
- RAG-133 RAG 可以缓存哪些内容?
- RAG-134 批量导入为什么会影响在线查询?
- RAG-135 向量索引什么时候需要分片?
- RAG-136 为什么平均延迟正常但 p99 很高?
- RAG-137 如何减少 RAG 的模型调用次数?
- RAG-138 RAG 如何限流与熔断?
- RAG-139 如何验证 RAG 灾难恢复能力?
- RAG-140 RAG 容量评估需要哪些参数?
RAG-131 RAG 延迟应该怎样拆分?
难度:高级
参考答案:分别记录查询处理、嵌入、检索、重排、组装和生成耗时,区分首字延迟与完整回答时间。结合分位数和链路追踪定位瓶颈。
工程追问:并行阶段的耗时能直接相加吗?
RAG-132 如何设置各阶段超时?
难度:高级
参考答案:从整体响应预算倒推阶段预算,预留网络与收尾时间。剩余预算不足时减少非必要步骤或返回可解释降级结果,禁止无限重试。
工程追问:重排超时后如何保证权限不降级?
RAG-133 RAG 可以缓存哪些内容?
难度:高级
参考答案:可缓存文档解析、嵌入、检索结果和部分回答,但每层都需绑定模型、数据版本与权限范围。对时效敏感或个性化结果谨慎复用。
工程追问:语义缓存如何防止近似问题混淆?
RAG-134 批量导入为什么会影响在线查询?
难度:高级
参考答案:导入会争用 CPU、内存、磁盘、数据库连接和模型配额。使用独立队列、限速与资源配额,在高峰降低后台吞吐并监测索引延迟。
工程追问:怎样验证资源隔离是否有效?
RAG-135 向量索引什么时候需要分片?
难度:高级
参考答案:当单节点容量、吞吐或恢复时间无法满足要求时考虑分片。分片带来路由、跨片合并和运维成本,需依据租户分布与查询模式设计。
工程追问:随机分片与按租户分片如何取舍?
RAG-136 为什么平均延迟正常但 p99 很高?
难度:高级
参考答案:可能存在超长文档、冷缓存、慢分片、排队或外部模型抖动。应按输入长度与依赖服务切片,查看尾部请求链路,不能只优化平均值。
工程追问:重试会怎样放大尾延迟?
RAG-137 如何减少 RAG 的模型调用次数?
难度:高级
参考答案:合并兼容的查询处理步骤,优先使用确定性规则与缓存,并评估是否每次都需要改写和重排。保留质量门槛,避免为了省调用破坏关键证据。
工程追问:哪些请求可以直接检索回答?
RAG-138 RAG 如何限流与熔断?
难度:高级
参考答案:按租户和资源消耗控制并发与排队,对故障依赖设置熔断和恢复探测。降级路径也必须遵守权限、成本与正确性边界。
工程追问:向量库熔断时能直接让模型猜吗?
RAG-139 如何验证 RAG 灾难恢复能力?
难度:高级
参考答案:定期恢复原始文档、元数据、权限与索引配置,核对样本答案及引用可访问性。明确哪些索引可重建,并测量恢复时间与数据损失窗口。
工程追问:只有向量备份为何不够?
RAG-140 RAG 容量评估需要哪些参数?
难度:高级
参考答案:考虑文档与片段数量、向量维度、索引开销、并发、上下文长度和更新速率。用代表性数据压测并留增长余量,不能只按原始文件大小估算。
工程追问:副本与索引参数怎样影响内存?
复盘练习
任选一题,用“场景与约束 → 方案 → 验证方法 → 失败边界”组织一段回答。初级先讲清概念,中级补实现与测试,高级补成本、权限和故障取舍。难度标签是学习建议,同一题可继续深入。
延伸阅读
以下为本模块相关原始论文与官方文档,用于继续学习;本文为原创面试要点整理,具体框架行为以所用版本为准。