跳至主要内容

请求流程

高级架构

请求流程

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

  2. 虚拟密钥:在此阶段,会检查请求中的 Bearer token 是否有效且在预算范围内。 这里是每个请求运行的检查列表

    • 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. 数据库事务是否与请求的生命周期绑定?
    • 否,数据库事务未与请求的生命周期绑定。
    • 检查虚拟密钥是否有效依赖于如果它不在缓存中的数据库读取。
    • 所有其他数据库事务都在后台任务中异步进行