大模型 API 调用慢(2-5 秒)、贵(按 Token 计费),如何在保证效果的前提下优化性能和成本?

一、大模型应用的性能瓶颈

  • 1.1 延迟——大模型推理本身慢
  • 1.2 成本——每次都调 API 很贵
  • 1.3 吞吐——API 有并发限制

二、语义缓存(Semantic Cache)

  • 2.1 原理——相似的问题,答案也相似
  • 2.2 不是精确匹配——余弦相似度 > 0.95 就复用
  • 2.3 Redis + Embedding 实现
  • 2.4 Spring AI 的缓存支持
  • 2.5 缓存命中率和成本节省

三、SSE 流式响应

  • 3.1 普通调用——等 5 秒,一次性返回
  • 3.2 SSE(Server-Sent Events)——边生成边返回
  • 3.3 用户体验——从”等 5 秒”变成”马上看到第一个字”
  • 3.4 Spring AI 的 SSE 实现
  • 3.5 前端 SSE 消费——EventSource API

四、请求合并(Batching)

  • 4.1 多个请求合并为一次 API 调用
  • 4.2 减少 API 调用次数
  • 4.3 实现——队列 + 定时批处理

五、Token 优化

  • 5.1 Prompt 精简——去掉不必要的上下文
  • 5.2 摘要历史对话——不要无限累积
  • 5.3 限制输出长度——max_tokens
  • 5.4 计费模型理解——输入 Token vs 输出 Token

六、并发控制

  • 6.1 API 的 RPM/TPM 限制
  • 6.2 令牌桶限流——Guava RateLimiter
  • 6.3 降级策略——主模型限流后切备用模型

七、总结

  • 语义缓存 + SSE + 请求合并 = 成本降低 50%+
  • AI 应用的性能优化是一个新的技术方向