跳到正文

迁移指南从 LiteLLM

从你自己运行的 LiteLLM 代理,迁到不用自己运行的方案

LiteLLM 是两样东西:一个可与 100 多家提供商对话的 Python SDK,以及一个你用 Postgres 和 Redis 部署的代理,后者增加了虚拟密钥、预算、回退和缓存。两者都运行在你自己的提供商密钥上,INFRO 也是如此。改变的是由谁来运行代理。本页把代理的配置对应到 INFRO,并展示如何保留 SDK。

BerriAI 的 MIT 开源项目,另有需要许可证的 Enterprise 版本;自托管

INFRO 账号可自助开通。 模型目录、文档和 API 契约已公开,网关已部署,v1 之后的所有功能都标注为“后续”。 套餐与试用

现状

许可证和版本

enterprise/ 目录之外的一切均为 MIT 许可;Enterprise 是附带许可证密钥的同一个镜像,增加了 SSO、SCIM、审计日志、密钥管理器和支持。

2026 年的安全公告

LiteLLM 自己的博客列出了:2026-03-24 litellm 1.82.7 和 1.82.8 在 PyPI 上遭到入侵(官方 Docker 镜像未受影响;干净的 1.83.0 于 2026-03-30 发布)、代理密钥验证中的 SQL 注入(已在 1.83.7 修复,2026-04-29),以及 Host 头认证绕过(已在 1.84.0 修复,2026-06-01)。运行代理意味着这些都需要你自己跟进。

由谁的账号处理请求

是你,两款产品都一样。LiteLLM 从不持有提供商账号,INFRO 也不持有;你的提供商直接向你收费。

LiteLLM 免费、开放,可在任何地方运行。如果这些正是你选择它的原因,它们依然是好理由。

  • 流量不得离开你的网络,或者你必须能阅读并修补网关的代码。INFRO 是托管且闭源的;自托管或混合部署需要企业协议。
  • 你使用语义缓存、上下文窗口或内容策略回退、A2A 智能体网关,或回调到特定的日志厂商。INFRO 有精确匹配缓存、路由失败规则、MCP 网关和 OpenTelemetry 导出。
  • 你调用 INFRO 没有连接的提供商,或它不提供的端点:批处理、文件、微调、Realtime,以及除 OpenAI、Azure OpenAI、Mistral 或兼容 OpenAI 的端点之外的提供商上的嵌入。
  • 运行它几乎不花你什么成本,因为平台团队已经负责 Postgres、Redis 和升级。

需要的修改,每项一行。未在此列出的内容都保持不变。

 LiteLLMINFRO
基础 URL你的代理,例如 http://0.0.0.0:4000。https://api.infro.io/v1
密钥来自 /key/generate 的 LiteLLM 虚拟密钥(sk-...)。在控制台或管理 API 中创建的 INFRO 网关密钥。提供商密钥从 litellm_params 迁移到 INFRO 连接。
模型 ID来自 model_list 的 model_name,例如 gpt-4o。一条同名路由规则,这样调用方可以继续发送它,或者直接使用 vendor/model。
请求体字段metadata { tags, trace_id, trace_user_id, generation_name }, cache { ttl, namespace }, user.metadata { user_id, session_id, tags },用于响应缓存的 cache,用于追踪 id 的 X-INFRO-Trace-Id。

之前 · LiteLLM proxy

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://0.0.0.0:4000",
  apiKey: process.env.LITELLM_API_KEY, // virtual key
});

await client.chat.completions.create({
  model: "claude-default", // model_name in model_list
  messages: [{ role: "user", content: "Hello" }],
  user: "user-123",
  // @ts-expect-error LiteLLM extension
  metadata: { tags: ["production"] },
});

之后 · INFRO

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.infro.io/v1",
  apiKey: process.env.INFRO_API_KEY,
});

await client.chat.completions.create({
  model: "claude-default", // an INFRO route, same name
  messages: [{ role: "user", content: "Hello" }],
  // @ts-expect-error INFRO extension
  metadata: { user_id: "user-123", tags: { env: "production" } },
});

`model_list` 变成路由

每个拥有多个部署的 model_name 会变成带这些目标的路由;rpm 权重变成加权目标;router_settings.fallbacks 变成路由靠后的目标或 fallbacks。

保留 SDK

LiteLLM 的兼容 OpenAI 的提供商会把 openai/ 之后的全部内容作为模型 id 发送,因此 openai/anthropic/claude-sonnet-5.5 到达 INFRO 时是 anthropic/claude-sonnet-5.5。回退随后在 INFRO 中发生,而不是在 SDK 中。

或者把代理保留在 INFRO 之后

迁移期间,可将代理作为 openai-compatible 连接接入。请注意,此时 INFRO 只会把代理视为一个提供商,因此在你直接连接各提供商之前,按提供商的故障转移和成本仍在 LiteLLM 内部处理。

LiteLLM 的对象与 INFRO 的对照,依据 2026年10月19日 阅读的 LiteLLM 公开文档,并已按网关实际实现的内容核对。 有一行显示 INFRO 没有对应项。

LiteLLM它在那里的作用在 INFRO 中
`model_list` 和 `litellm_params`形式相同按模型名称划分的部署,提供商密钥保存在配置中。提供商连接(密钥加密存放,每个提供商可有多个)以及基于它们的路由。
虚拟密钥形式相同由代理签发的密钥,带允许的模型、预算、tpm 和 rpm、团队和用户。网关密钥可设置允许的模型、提供商、IP 范围、环境、支出限额和请求速率档位;支持轮换和停用开关。
团队、用户、预算形式相同按密钥、团队或用户的 max_budget 和 budget_duration。按组织、项目、成员、密钥和终端客户设置预算,在并发下依然生效,在调用提供商之前到达上限即返回 402。
tpm 限制不同按密钥或部署的每分钟 token 限制。按密钥划分的请求速率档位和美元预算。没有每分钟 token 限制。
回退和重试形式相同fallbacks、num_retries、冷却、allowed_fails。路由目标和按类型划分的失败规则(重试、故障转移或停止);按请求的 fallbacks。
上下文窗口和内容策略回退不同当提示词过长或被提供商的策略拒绝时,改用另一个模型。moderation 故障规则可以故障转移到下一个目标。没有上下文窗口回退。
缓存不同基于 Redis、S3、GCS、Qdrant 等的精确缓存和语义缓存。精确匹配,需主动开启,用于聊天补全,托管提供。没有语义缓存。
护栏不同可插拔的护栏;部分集成需要 Enterprise。会阻断、脱敏或标记的模式规则,以及在决策模型上的检查,包含护栏的每个套餐均可使用。
日志回调不同回调到 Langfuse 和其他工具;支出日志保存在 Postgres 中。请求日志、导出,以及发往你的 OpenTelemetry 收集器的 span。
支出追踪不同成本来自 LiteLLM 的模型价格表。按你的协商价或厂商公开价得出的预估提供商费用,未知时为 unpriced,并与 OpenAI 和 Anthropic 的成本 API 对账。
MCP 网关形式相同代理之后的 MCP 服务器。面向你自己 MCP 服务器的 MCP 网关,按密钥设置已批准的工具和授权。
A2A 智能体网关无对应通过代理的智能体间流量。无。
自行运行不同MIT,Docker 或 pip,任何地方都能运行。托管服务。自托管或混合部署通过企业协议提供。Enterprise — 通过企业协议提供,而非自助开通。

这是我们对 LiteLLM 已发布文档的理解,而非试用或基准测试。如果我们理解有误,告诉我们,我们会修正那一行。

INFRO 不做的事

  • 无需企业协议即可在你自己的基础设施上运行,或让你阅读它的源码。
  • 语义缓存、上下文窗口回退、A2A。
  • 提供批处理、文件、微调或 Realtime,或除 OpenAI、Azure OpenAI、Mistral 或兼容 OpenAI 的端点之外的提供商上的嵌入。
  • 每分钟 token 限制;INFRO 按请求速率和美元限制。

哪些无法迁移过来

  • 你的 LiteLLM Postgres 中的支出日志和请求历史。没有导入工具。
  • 虚拟密钥。签发 INFRO 网关密钥,并将调用方逐步切换过来。
  • 回调和自定义钩子。请使用 OpenTelemetry 导出,或把这部分逻辑保留在你的代码中。

问题

我还能继续使用 LiteLLM Python SDK 吗?
可以。通过 LiteLLM 的兼容 OpenAI 的提供商调用 INFRO:model="openai/<INFRO model id>",配合 api_base="https://api.infro.io/v1" 和你的 INFRO 密钥。
INFRO 像 LiteLLM 一样是开源的吗?
不是。INFRO 是托管服务;自托管或混合部署可在企业协议下提供。
谁向模型提供商付费?
是你,直接付费,与 LiteLLM 一样。INFRO 是订阅制,对模型支出的加价为 0%。

和我们一起迁移,或自行迁移

迁移计划会在一次通话中把你的 LiteLLM 设置映射为 INFRO 的连接、路由规则和预算,并和你一起迁移第一个服务。你的提供商继续直接向你收费;INFRO 是一项订阅,对模型支出零加价。

来源

本页关于 LiteLLM 的每一项陈述都来自以下来源之一,阅读于 2026年10月19日。没有任何内容是从试用、基准测试或交谈中推断的。