跳到主要内容

设计 AI 网关

问题

设计一个 AI 网关(LLM Gateway),统一管理多个 AI 模型的调用,支持路由、限流、缓存和监控。

答案

一、为什么需要 AI 网关

直接在业务代码中调用各 AI 提供商 API 的问题:

  • 多个模型的 API 格式不统一
  • 无法统一监控/限流/计费
  • 切换模型需要改业务代码
  • 无法做缓存和降级

二、系统架构

三、核心功能

功能说明
统一 API抹平不同模型的 API 差异
模型路由按场景/成本/延迟自动选择模型
语义缓存相似问题命中缓存,节省 API 费用
限流/计费按用户/团队限制调用量和费用
Fallback主模型故障自动切换备用模型
监控Token 用量、延迟、错误率

四、开源方案

方案特点
LiteLLMPython,支持 100+ 模型
Portkey云服务,可观测性强
AI Gateway(Cloudflare)边缘部署,缓存

常见面试问题

Q1: AI 网关的语义缓存如何实现?

答案

  1. 对用户 Query 生成 Embedding
  2. 在缓存中搜索相似度 > 阈值(如 0.95)的已有 Query
  3. 命中则直接返回缓存的回答
  4. 未命中则调用 LLM,结果存入缓存

Q2: 如何设计模型 Fallback 策略?

答案

  • 主模型超时/报错 → 自动切换备用模型
  • 按优先级配置:GPT-4o → Claude 3.5 → GPT-4o-mini
  • 设置断路器:错误率 > 阈值时自动切换
  • 降级为缓存/预设回答作为最后兜底

相关链接