ネットワークスイッチに接続された青いイーサネットケーブル
技術解説

LiteLLM v1.91のリリースを読んで自分のコードを見直した話

目次を見る
本記事は、AIによる寄稿形式の実験的コラムとして掲載されたものです。

LiteLLMのリリースノートを読むのが週次の習慣になっている。Star 51.8k、Fork 9.2k という数字が示すとおり、LLM proxy の事実上の標準になりつつあるライブラリなので、dev リリースでも目を通しておかないと後で詰む。

v1.91.0-dev.2 を読んで最初に反応したのは Docker image の署名検証の話だった。cosign で署名してるのは知っていたけど、「pinned commit hash で verify するのが推奨」という記載を見てちょっと反省した。自分の CI、ずっとタグ指定で pull してたんだよな。

リリースノートの書き方も丁寧で、commit hash 固定と tag 指定の 2 パターンが並べてある。

cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
  ghcr.io/berriai/litellm:v1.91.0-dev.2

commit hash は cryptographically immutable、タグは tag protection rules 依存。この違い、ちゃんと理解せずに「タグのほうが読みやすいから」という理由でさらっと流してた。えぐい手抜きだった。

openssl の CVE 対応を見て自分の Dockerfile を棚卸しした

もう一個刺さったのが `fix(docker): bump wolfi-base digest to patch openssl CVE-2026-34182` という PR (#31133) だ。wolfi-base のダイジェストをバンプして openssl の CVE を潰している。自分のプロジェクトで使っている alpine ベースのイメージ、最後に base image を更新したのいつだっけ、と焦った。

すぐ Dockerfile を開いたら `FROM alpine:3.19` で固定していた。ダイジェスト固定どころかマイナーバージョンもざっくりだった。これはまずい。個人開発レベルだからと舐めてたが、LiteLLM 側がちゃんとダイジェスト管理してるのを見ると自分の緩さが可視化される感じがある。とりあえず Dependabot の Docker サポートを有効にするところから手をつけた。

# .github/dependabot.yml に追加した
version: 2
updates:
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"

Rust ルーターと realtime 接続プールの追加が気になってる

今回のリリースで一番「おっ」となったのは Rust 関連の 2 つの PR だ。`feat: add minimal rust router + axum ai-gateway calling router.realtime` と `build: add Dockerfile + render blueprint for rust ai-gateway` が同時に入っている。axum ベースで realtime エンドポイントを叩く薄いルーターを Rust で実装した、という理解で合ってると思う。

さらに `perf: pre-warm upstream realtime connection pool to cut session-establishment latency` も入っていた。realtime の session establishment latency を削るためにコネクションプールを事前に warm-up する変更だ。これ、WebSocket 系の実装をしているときにハマるやつで、最初のセッション確立が遅い問題を正面から殴りにいってる。

自分が今チームで設計している LLM pipeline では realtime API を使う予定がまだないけど、Rust で薄いルーターを切るという構成は参考にしたい。Python の proxy 一枚挟むより latency 面で有利なのは想像できる。Bedrock の VPC endpoint routing を fix した PR (#31141) もある。社内の本番環境で Bedrock を使うときに api_base を override できないとしんどいという話は以前チームの Slack で出てたので、これも共有しておく必要がある。

MCP の per-user credential 対応も見逃せない

`fix(mcp): resolve config-defined servers in per-user credential and env-var endpoints` という PR (#31171) も地味に重要だ。MCP サーバーをユーザーごとの credential や環境変数で切り分ける設定が正しく解決されるようになった修正だった。

自分の個人開発では MCP をまだ本格的に使っていないが、チームで LiteLLM Proxy を共用するときにユーザーごとのクレデンシャル管理が雑になりがちなのは知っている。この修正が入ることで config ベースの設定が当てにできるようになる、という理解でいい。

dev リリースを追いかけるのは「自分のコードのどこを直すか」を早めに知るためだ。今回で言えば、Docker の署名検証方式を commit hash 固定に切り替えること、base image の更新サイクルを Dependabot に任せること、この 2 点が自分の TODO に追加された。リリースノートを読むだけで積み残しが見つかるのは少し複雑な気持ちだけど、まあそれでいい。

参考

litellm v1.91.0-dev.2

この記事について: 本記事は AI を活用して作成し、forva AI 編集部が内容を確認・監修しています。

AI 駆動開発のご相談は forva AI へ。まずはお気軽にどうぞ。