前言

在各种 RAG 面试题里,有一个问题非常考验“工程思维”:

“你们的 RAG 首字延迟(TTFT)怎么优化?”

这个问题的难度在于,它跨越三层内容:

  1. 模型接口层
  2. 向量检索层
  3. 系统架构层

如果只会回答“并发调用”“缓存 embedding”“加 GPU”,这种答法只会让面试官觉得:“看过几篇文章,但没做过真系统。”

而能把“哪里慢→为啥慢→怎么拆→怎么优先级”讲得有逻辑、有落地感,才是真正的加分项。

下面我们就按工程链路拆开说。

一、首字延迟到底卡在哪?

RAG 的全链路可以拆成四步:

  1. Embedding(OpenAI 或自建模型)
  2. 向量检索(Milvus / Chroma / Faiss / PgVector)
  3. Prompt 拼装
  4. 大模型生成(LLM Completion / Streaming)

其中影响 TTFT(Time-to-First-Token)的主要瓶颈是:

  • Embedding API 等待时间
  • 向量检索耗时
  • 系统缺乏并发 / 缓存

换句话说,卡的并不在 LLM,而是在 LLM 之前的链路。

优化 TTFT,本质就是“把 Embedding 和检索变快,把重复计算干掉,把链路做成流水线”。

二、Embedding 阶段:怎么把 OpenAI 的延迟压到最小?

Embedding 是行业里“最容易被忽略的延迟来源”。

如果你用最朴素的方式,“来一条算一条”,那必然会慢。

工程落地的优化有三件事:

1. 批处理(Batch Embedding)——一次请求算多条

最关键的是:OpenAI 的 Embedding API 支持一次输入多个文本。

例如将 N 个 chunk:

["文本1", "文本2", "文本3", ...]

一次性扔进去算向量。

好处是:

  • 减少网络往返延迟
  • 提高吞吐量
  • 减少 API request 限流风险

注意 token 限制(8k 左右),按 token 切批即可。

在我们训练营的 RAG 工程项目里,开启批处理能直接把嵌入时间从“几百毫秒”降到“几十毫秒”。

2. 异步并发(asyncio)——让 CPU 不再发呆

单线程逻辑:

  • 发请求
  • 等待
  • 发下一个请求
  • 再等

CPU 大部分时间在“等”。

异步并发模型:

  • 你等 API 的时候,CPU 去安排别的请求
  • 整体吞吐可以提升 5~10 倍

但需要控制并发数量: 过高并发(比如 20+)会遇到 429 限流。

经验值:

  • 5~10 个并发最稳

3. 缓存(Embedding Cache)——把重复的工作彻底去掉

Embedding 最“浪费钱”的地方就是:重复调用。

现实里你会遇到:

  • 用户各种用词相近的提问
  • FAQ 类问题
  • 编写 RAG 项目时自己不断调试

最佳策略:把 query → vector 缓存在 Redis / KV 里。

缓存命中率甚至能达到 30~50%。

对于语料库 embedding,要提前离线算好,这样查询时就不需要临时生成 embedding。

训练营里的实际项目中,把缓存引入后能把首字延迟直接砍掉 40% 以上。

三、向量检索阶段:如何让 Milvus / Faiss 几毫秒就返回?

向量检索的速度差异非常大:

  • 朴素暴力检索:几十毫秒~几百毫秒
  • HNSW / IVF 索引:几毫秒级
  • 加副本、分区、过滤:亚毫秒级

RAG 想快,要做到以下几点:

1. 建索引(HNSW / IVF)——别用暴力检索

HNSW 是公认在“速度 + 精度”之间平衡最好的 ANN 索引。

Milvus HNSW 参数:

  • M:控制图连边数量
  • efConstruction:控制建索引质量
  • efSearch:控制搜索精度与速度

实际经验:

  • M=16
  • efConstruction=128
  • efSearch=64

这是一个 “” 的组合。

HNSW 是靠增加“预建联结图”的方式减少搜索路径,所以对百万级向量性能非常好。

2. 分区 / 分片(Partition + Sharding)——让搜索范围更小

如果你把所有向量丢在同一个集合里,那系统必须“全库搜索”。

更优的做法是:

  • 按“主题/时间/来源”分区
  • 查询时只查对应分区

例如:

  • 只查最近 30 天的文档
  • 只查某部门文档
  • 只查某业务线的知识库

能直接减少 50%~90% 的检索范围。

3. 连接池 + 批量查询——把网络往返次数砍掉

Milvus 支持:

  • 一次查多个 query vector
  • 多连接并发查询
  • 多副本分摊查询负载

做业务时,如果你要查多个 chunk,就批量查:

[v1, v2, v3, …]

减少网络往返就是最快的优化。

4. GPU 加速(可选)

如果你的业务是:

  • 高频查询(推荐、广告、电商搜索)
  • 向量库千万级以上
  • 对延迟要求苛刻

可以考虑 GPU 版本向量数据库。

但 GPU 方案成本高、运维复杂,只适合极端场景。

四、系统层优化:把整个流程做成“流水线”

Embedding 变快、检索变快还不够。

真正的大幅降延迟,来自于:

  • 异步流水线架构
  • 缓存体系
  • 负载均衡

下面几件事非常关键:

1. 全链路异步化(Async Pipeline)

传统架构:

Embedding → 检索 → 拼Prompt → LLM

全链路异步后:

  • embedding 等待时可以处理检索
  • 检索等待时可以准备 prompt
  • 多个用户请求不互相阻塞

你的 RAG 服务就变成:

  • 更高 QPS
  • 更低首字延迟
  • 更充分利用 CPU / IO

训练营的 RAG 服务统一采用“嵌入 → 检索 → 生成”的异步流水线,TTFT 能降到“百毫秒级”。

2. 三层缓存体系(Embedding / Retrieval / Answer)

这一点是很多在线 RAG 系统一定会做的:

第一层:Embedding 缓存

避免重复算向量。

第二层:检索结果缓存

同样的 query,不需要每次都查向量库。

第三层:答案缓存(FAQ)

如果答案固定,那直接返回,甚至不需要走 RAG。

这三层缓存能把:

  • API 调用次数
  • Milvus 查询次数
  • LLM 调用次数

统统减少至少 30%~60%。

3. 多副本 + 多节点(水平扩展)

如果是高并发业务,可以:

  • 开多个 Query Node
  • 设置多个副本 replica
  • LLM 多实例负载均衡

解决 QPS 需求。

五、总结:如何给面试官浓缩回答?

你可以总结成下面这个“面试官最爱听”的版本:

“RAG 的首字延迟主要卡在 embedding 和向量检索。

embedding 方面通过批处理、异步并发和 KV 缓存减少等待,向量检索通过 HNSW 索引、分区过滤、批量查询缩小范围。

系统层面用全链路异步流水线,并辅以 embedding / retrieval / answer 三层缓存,整体能把延迟降低几十到上百毫秒。”

这段话结构清晰、逻辑完整、带工程味,面试官一定会点头。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐