langchain-core 1.3.0 リリース、自分のコードどこを直す?

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
langchain-core 1.3.0 が2025年4月17日にリリースされた。1.2.31からのアップデートで、変更点はそこまで多くないが、実務で使ってるコードに直接刺さる部分がいくつかある。

SSRFまわりが地味にきつかった



自分が最初に気になったのは `fix(core): restore cloud metadata IPs and link-local range in SSRF policy` というやつ。要はSSRF対策のポリシーで、クラウドのメタデータIPやリンクローカルのレンジが一時的に除外されていたらしい。AWSやGCPのインスタンス上でLLMのチェーンを動かしてるなら、ここが欠けてると思わぬところで詰まる。自分は今ちょうどECS上でRAGのバックエンドを動かしてて、このfixは普通に気にしないといけない話だった。

さらに `chore(core): harden private SSRF utilities` も入ってる。セキュリティ周りを2段階で対応してきたということで、1.2.x系を使い続けるのは少しリスクがある。さっさと上げたほうがいい。

トレーサビリティが上がったのは嬉しい



`feat(core): Add chat model and LLM invocation params to traceable metadata` というのも入った。チャットモデルやLLMを呼び出したときのパラメータが、トレース可能なメタデータとして記録されるようになる。LangSmithと組み合わせると、どのモデルをどのパラメータで呼んだかがちゃんとトレースに残る。

コスト最適化を考えてると、どの呼び出しで何トークン使ったか、temperatureは何だったかとかを後から追いたくなる。これまでは自前でlogging仕込んでたけど、フレームワーク側でメタデータに乗るなら管理がだいぶ楽になる。チームでLLMのコードレビューするときも、「このチェーンの設定なんだっけ」をトレースから確認できる。

アップデート自体はこれだけ。

pip install langchain-core==1.3.0

すでに1.2.x系を使ってるなら、breaking changeはないはずなのでそのまま上げられる。`checkpoint_ns behavior in streaming metadata` はバックワードコンパティビリティを維持するchoreとして入ってるので、ストリーミング周りの既存コードが壊れることはない。

pytestが9.0.3になった件



地味に見落としがちなのが `chore(deps): bump pytest to 9.0.3` が2回入ってること。libsのcoreとルートレベルで別々にbumpしてる。自分のプロジェクトがlangchain-coreのテスト周りを参考にしてる場合や、同じpytestバージョンを固定してる場合は一緒に合わせておいたほうがいい。

全体的に見て、このリリースは「機能追加より安定化」という印象が強い。SSRFの修正、メタデータの強化、ストリーミングの後方互換維持。新しいことをバンバン試したいリリースというより、本番に入れるための品質を上げにきた感じがする。

自分は今週末にECのRAGバックエンドのdependencyを1.3.0に上げつつ、LangSmithのトレースでinvocation paramsが正しく記録されるか確認してみるつもりだ。

無料相談受付中

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

無料相談を申し込む