部署与成本
streaming、caching、推理成本优化。
30 分钟
部署与成本
原型到生产差在 SLA、缓存、流式、批处理与账单。AI 工程师要会估算 token 成本、选部署形态、压 latency——对应 ai-engineer 的 deploy / cost 节点。团队审批与配额政策见 ai-engineering-essentials。
学习目标
- 估算 embedding + generation 的单次与月度成本
- 使用 caching、批处理、小模型路由降本
- 选择托管 API vs 自托管 vs 混合
成本模型
def estimate_chat_cost(prompt_tokens, completion_tokens, price_in, price_out):
return prompt_tokens * price_in + completion_tokens * price_out
# 例:1000 次/天,平均 2k in + 500 out
daily = 1000 * estimate_chat_cost(2000, 500, 2.5e-6, 1e-5)
monthly = daily * 30
| 费用项 | 杠杆 |
|---|---|
| 生成 token | 更短 system;rerank 后再喂 LLM;小模型做意图分类 |
| 嵌入 | 批量 embed;换低维;增量 index |
| 检索 | 缩小 top_k;缓存热门 query |
| 重复问题 | 语义缓存(相似 query 直接返回答案) |
向 Tech Lead 报预算时带 p95 用量,不是平均值——与团队资源流程对齐。
部署形态
| 形态 | 优点 | 缺点 |
|---|---|---|
| 厂商 API | 快、免运维 | 数据合规、单价 |
| 自托管(vLLM 等) | 数据可控、高 QPS 时可省 | GPU、运维、模型更新 |
| 混合 | 敏感走本地,通用走云 | 架构复杂 |
RAG 索引 job 放 异步队列(git webhook → re-index);在线路径 无状态,水平扩展 API 实例。
延迟优化
- Streaming:首 token 体验(aen-apis)
- 并行:检索与 query 改写并行;多源 retrieval fan-out
- 预热:保活 embedding 批处理通道
- CDN / edge:仅适合静态资源与缓存命中回答
@lru_cache(maxsize=10_000)
def cached_embed(text: str) -> tuple[float, ...]:
return embed_fn(text)
注意缓存 失效策略(文档更新后 bust cache)。
生产清单
- 限流:每用户 / 每 API key QPS
- 超时与熔断:LLM 慢时不拖垮线程池