金色の配線パターンが広がる基板の接写
技術解説

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

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

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が正しく記録されるか確認してみるつもりだ。

参考

langchain langchain-core==1.3.0

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

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