オレンジ色のケーブルが接続されたパッチパネル
技術解説

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

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

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 hardcodefix(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ビルドなので本番にすぐ入れるかは様子見だけど、ローカルの検証環境では試せる。

参考

litellm v1.83.14.rc.1

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

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