开源litellm Releases·原文 2026年9月23日

LiteLLM发布v1.102.0:Docker镜像改用cosign签名验证

LiteLLM v1.102.0发布,所有Docker镜像由cosign签名,官方推荐用固定commit hash的密钥验证;同时合入多项路由、MCP、护栏与计费修复。

AI解读:对自建LiteLLM代理的团队来说,这意味着可以在拉取ghcr.io/berriai/litellm镜像后先验签再上线,降低供应链被替换的风险;代价是发布流程多了一步,用tag验证虽然更易读,但依赖仓库的tag保护规则。

其余改动集中在代理运行时的可靠性:路由器缓存、冷却时间、失败计数、least-busy在多个worker间的共享,以及MCP凭据加密、Bedrock透传的模型访问控制、批量成本只计一次等。这些修复面向已经在生产环境跑LiteLLM的用户。

还新增了一些能力,例如通过代理运行pi coding agent的lite pi命令、Mistral文本转语音、Vertex的Lyria模型支持、Fireworks AI的原生Responses API配置,以及把MongoDB向量搜索移到可选sidecar(BETA)。

需要留意的是,这些是发布说明中列出的条目,官方并未附带逐项的性能或安全性实测数据;MongoDB向量搜索sidecar仍标记为BETA,是否采用要看自身部署条件。

LiteLLM发布v1.102.0(GitHub仓库BerriAI/litellm)。发布说明称,所有LiteLLM Docker镜像均使用cosign签名,每个release使用同一把密钥,该密钥由commit 0112e53引入。

验证方式有两种。官方推荐使用固定commit hash,因为commit hash在密码学上不可篡改,可以确保使用的是原始签名密钥:cosign verify --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub ghcr.io/berriai/litellm:v1.102.0。另一种是用release tag,仓库中的tag受保护并指向同一把密钥,可读性更好,但依赖tag保护规则:cosign verify --key https://raw.githubusercontent.com/BerriAI/litellm/v1.102.0/cosign.pub ghcr.io/berriai/litellm:v1.102.0。

发布说明给出的预期输出为:cosign claims已验证,签名已对照指定公钥验证通过。

该版本由litellm-proxy-extras 0.4.94升至 0.4.95、litellm 1.101.0升至 1.102.0(PR #40287,作者 @yuneng-berri)。以下为发布说明中列出的主要变更。

策略引擎与护栏

在streaming responses上执行post_call guardrail流水线(PR #38788),并在流式响应上应用post_call流水线的文本改写(PR #39233);post_call护栏流水线现在也会在responses和流上执行(PR #38721)。

  • 新增inspect_embeddings开关,用于AIM和Cato护栏(PR #39918,@yucheng-berri)。
  • 阻止Prompt Security修改文件(PR #38204,@davida-ps)。
  • mcp_security接受on_violation block和alert(PR #40155)。
  • 策略流水线拦截或修改响应时保留护栏遥测(PR #40211)。
  • 允许框架支持的logging-only模式(PR #40267)。

路由器与代理

多处修复集中在多worker部署下的一致性:least-busy的in-flight请求计数在代理worker之间共享(PR #40009);冷却时间拥有独立缓存,使同级部署约 1 秒内可见被冷却(PR #40025);allowed_fails计入共享路由器缓存,使多worker代理在全集群范围内对某个deployment进行冷却(PR #40224)。

成本与延迟采样不再相互覆盖:成本路由使用独立缓存键,避免覆盖延迟样本(PR #40225);流式延迟路由按原始TTFT排名,而非每token的TTFT(PR #40202,@clement-paradex)。

  • 简单随机(simple-shuffle)可按任意deployment的weight/rpm/tpm加权(PR #40222)。
  • 重试非瞬时错误时跳过拒绝服务的deployment(PR #40014)。
  • per-request routing_strategy覆盖选择器不再进入全局回调(PR #40229)。
  • deployment tags不再进入重试和fallback的tag路由(PR #40226)。
  • 跨版本保留heuristic默认值(PR #40007);heuristic v1调优受门控(PR #39952);heuristic调优配额过滤器在Prisma中串行化(PR #40140)。
  • auto_router的语义路由层在事件循环之外构建(PR #39954);adaptive_router成本加权评分回退到model_info(PR #39957),冷启动先验加载时加上持久化的delta(PR #39955)。
  • auto-router按deployment身份比较目标(PR #40206);auto-routed请求的max_tokens解析到tier模型上限(PR #40209)。
  • complexity_router增加声明式自定义维度(PR #40156),仪表盘重新平衡heuristic权重并按匹配次数为自定义维度评分(PR #40205)。
  • 代理的root_path可依据配置的前缀列表(SERVER_ROOT_PATHS)按请求解析(PR #35935,@gym-cmd)。
  • 租户成员预算在达到上限时强制生效,并覆盖Redis计数器过期(PR #40304)。
  • 文档:修复ARCHITECTURE.md中的过期文件路径(PR #40157,@jrlprost)。

MCP、认证与密钥

MCP相关新增与修复包括:可选的按服务器OAuth relay发现(PR #39936);key和team护栏应用于MCP工具调用(PR #39629,@mubashir1osmani);存储的静态header和stdio环境变量加密(PR #40164);/mcp-rest/test/connection像 /test/tools/list一样转发暂存凭据(PR #38806);针对资源范围的网关流程,直接启动命名服务器的OAuth(PR #39933)。

  • agent绑定的key被拒绝访问受范围限制的MCP服务器时给出清晰错误,并在UI中加入agent MCP授权(PR #39234)。
  • UI显示继承的MCP服务器,并标记没有成员的可访问组(PR #40036)。

模型、路由与计费

Anthropic相关:provider_specific_fields不再出现在原生 /v1/messages线路上(PR #39967);anthropic_responses在Anthropic messages翻译中保留Responses refusal块(PR #39723);跳过一次性Claude Code缓存注入(PR #40175)。

计费相关:批次的成本只计一次,从第一次看到其为final的retrieve开始(PR #39980);实时推理token嵌套在text_tokens中时只计费一次(PR #39850);缓存节省按被计费的请求基准定价(PR #40160);原生Responses API WebSocket会话记录spend(PR #38856)。

  • 为每个仍在运行但未定价的Bedrock模型加入GovCloud价格(PR #39764);加入azure_ai/gpt-6-astra Foundry价格(PR #39983)。
  • Mistral为 /v1/audio/speech增加文本转语音支持(PR #38755)。
  • Vertex增加Lyria模型支持(PR #30856,@emerzon)。
  • Fireworks AI增加原生Responses API配置(PR #39826)。
  • 对openai非推理模型丢弃不支持的reasoning参数(PR #38842)。
  • 中间对话的system消息保留在input中,不再折叠进instructions(PR #40269)。
  • Bedrock聊天错误响应保留x-amzn-RequestId(PR #40089);在失败日志载荷中捕获provider请求id(PR #40045)。

代理、数据库与部署

代理相关修复包括:从透传失败traceback中抹除provider key(PR #39964);对Bedrock透传路由强制执行key和team的模型访问(PR #39660);在启动时于配置加载后初始化字符串形式的成功/失败回调(PR #38226);配置加载时只记录一次预算预留通知(PR #40167)。

数据库与部署方面:启动迁移命令超时时杀掉整个prisma进程组(PR #39509);模型reconcile时加载数据库凭据,避免worker在凭据就绪前提供模型(PR #39876);重建因迁移死锁而处于INVALID状态的索引(PR #39384);spend_logs的分区DDL事务保持到其语句超时(PR #40098)。

  • Docker镜像中加入pymongo,用于MongoDB向量存储(PR #39995);MongoDB向量搜索移到可选sidecar(BETA)(PR #40203)。
  • 将Anthropic、Vertex Anthropic、Ollama和HF的模板获取移出事件循环(PR #40311);把Snowflake、Bedrock invoke Claude、Mantle和Gemini的远程图片获取移出事件循环(PR #39839)。
  • AI gateway通过显式rustls provider连接上游WebSocket(PR #39530)。
  • Helm和Terraform中加入metrics sidecar和独立metrics端口(PR #40163)。
  • OTel v2 trace导出URL可配置(PR #40286),并加入http/json导出协议(PR #40290)。
  • 新增cost map guard检查(PR #39835);移除只固定静态cost-map值的测试(PR #40195)。
  • 技能:在LiteLLM托管的skill registry上做语义搜索(PR #39401,@yassin-berriai)。
  • UI按pathname路由侧边栏,?page= 兼容层缩小为重定向表(PR #39978);Virtual Keys页面不再使用旧版用户仪表盘(PR #39991);新增key范围的auto-router使用标签页(PR #39999);日志页面支持批量可观测性(PR #39626,@mubashir1osmani)。
  • Keys允许编辑已有key的soft budget(PR #39002)。

CI、CLI与测试

CLI新增lite pi,用于通过代理运行pi coding agent(PR #36841,@ryan-crabbe-berri)。

CI相关:端到端测试在人工批准的环境中对PR变更的e2e测试运行三次(PR #39416);单元测试在Python 3.12上运行(PR #39989);为main默认分支准备workflow(PR #40149);开发工具跟随默认分支(PR #40162)。

  • 添加Rust扩展的pytest契约测试(PR #40181)。
  • OCR测试:跟踪回调生命周期一致性(PR #40063),增加SDK回调E2E一致性(PR #40061),运行post-call日志钩子(PR #40154)。

信息来源

litellm Releases原始来源