LiteLLM v1.83.14.rc.1、自分のコードに関係ある修正はどこか

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
LiteLLMのリリースノートを眺めていたら、地味に刺さるバグ修正がいくつか入っていた。v1.83.14.rc.1、今日確認したやつだ。

Anthropicのストリーミングで tool_use の引数が消える問題



自分、最近Anthropicのtool_useをストリーミングで使う実装を入れたばかりだった。PRのレビュー中に「なんか引数が途中で消えることない?」って指摘されて、再現できなくて困ってたやつだ。今回のリリースに `fix: preserve tool_use input args in Anthropic adapter streaming` という修正が入っていて、思わず「これだ」と声が出た。issueの #24355 として上がっていたやつで、ストリーミング中にAdapterを通過すると引数がすっぽ抜けるバグだったらしい。ライブラリ側の問題だったとわかってちょっとホッとした。

もう一個、Azureのストリーミングで `role='assistant'` が `include_usage` をオンにすると消える問題も直っている。#24354 だ。Azureを本番で使っているチームはけっこう影響受けてたんじゃないかと思う。自分はAzure使ってないけど、こういうロール情報が化けるバグはチャット履歴の管理で地味に致命的になるので、他人事じゃない。

Geminiのコスト計算もちゃんと直ってた



Geminiまわりの修正が3件まとめて入っていたのも気になった。特に `fix(gemini): read web search cost from model_info instead of hardcode` と `fix(gemini): include DOCUMENT modality tokens in cost calculation` の2つ。Geminiのウェブ検索機能を使ったときのコストがハードコードされた値で計算されていたのが、ちゃんとmodel_infoから読むように直ったということだ。

LLMのAPIコスト管理、最近めちゃくちゃ気にするようになった。個人開発でも月末に「え、こんなに使ってたっけ」ってなること増えてきたから。LiteLLMのコスト計算を信頼して予算管理してるなら、この修正前のバージョンで出した数値は参考程度にしかならない可能性がある。特にDocumentモダリティのトークンが計算に含まれていなかったというのは、ドキュメント系のRAGを組んでいる人には割と痛い話だと思う。

Dockerイメージの署名検証も地味に大事



リリースノートには毎回 `cosign` を使ったDockerイメージの署名検証の手順が書いてある。自分、今まで流し読みしてたんだけど、今回ちゃんと読んだ。コミットハッシュを使った検証とタグを使った検証の2通りがあって、推奨はコミットハッシュ固定の方らしい。

cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
  ghcr.io/berriai/litellm:v1.83.14.rc.1

コミットハッシュは暗号的に不変なので、タグよりも信頼できるという理由だ。スタートアップのプロダクトにLiteLLMを組み込んでいるなら、本番のDockerイメージは一度くらい検証してみた方がいいかもしれない。

とりあえず自分は、Anthropicのtool_use周りのコードをまず確認して、今週中にv1.83.14.rc.1へ上げてみるつもりだ。rcビルドなので本番にすぐ入れるかは様子見だけど、ローカルの検証環境では試せる。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む