跳至主要内容

请求流程

高层架构

请求流程

  1. 用户发送请求:流程始于用户向 LiteLLM 代理服务器(网关)发送请求。

  2. 虚拟密钥 (Virtual Keys):在此阶段,请求中的 Bearer 令牌会被检查,以确保其有效且未超出预算。此处列出了每次请求运行的检查项

    • 2.1 检查虚拟密钥是否存在于 Redis 缓存或内存缓存中
    • 2.2 如果不在缓存中,则在数据库中查找虚拟密钥
  3. 速率限制MaxParallelRequestsHandler 会检查以下组件的速率限制 (rpm/tpm)

    • 全局服务器速率限制
    • 虚拟密钥速率限制
    • 用户速率限制
    • 团队限制
  4. LiteLLM proxy_server.py:包含 /chat/completions/embeddings 端点。发送到这些端点的请求会通过 LiteLLM 路由器进行转发

  5. LiteLLM 路由器:LiteLLM 路由器负责处理 LLM API 部署的负载均衡、故障转移和重试。

  6. litellm.completion() / litellm.embedding(): litellm Python SDK 用于以 OpenAI API 格式调用 LLM(负责转换和参数映射)

  7. 请求后处理:在响应发回客户端后,将执行以下异步任务

常见问题解答

  1. 数据库事务是否绑定到请求的生命周期?
    • 不是,数据库事务不绑定到请求的生命周期。
    • 如果虚拟密钥不在缓存中,验证其有效性的过程依赖于数据库读取。
    • 所有其他数据库事务均在后台任务中异步执行
🚅
LiteLLM 企业版
SSO/SAML、审计日志、支出跟踪、多团队管理和护栏 —— 专为生产环境构建。
了解更多 →