12
9

More than 1 year has passed since last update.

LangChainのコアパッケージからExperimentalライブラリが分割されます

Last updated at Posted at 2023-07-23

先週の LangChain Japan Meetup でも Harrison が言っていた「コアをExperimentalやCommunityパッケージに分けていく」という話ですが、実際にExperimentalの分割が開始しているので、LangChainユーザーはチェックしておきましょう。

今後の改善や変更についての考え自体はこちらに掲載されています。

詳細は以下に示す各リンクを参照して欲しいですが、サクッと具体的な変更点についてだけ以下に示します。

なぜLangChainコアを、コアとExperimental(実験的)パッケージに分割するのか

主に以下の3点です。

  1. langchain コアパッケージからCVE(セキュリティ脆弱性)を取り除く。
  2. 実験的なソースコードをコアとExperimentalに明確に区別し、新しいアイデアや論文の実装について、実運用に耐えるコードでなくてもExperimentalに追加しやすくする。
  3. langchainコアパッケージの実用性を高めるために軽量化する。

Experimentalに移行される既存の機能

すでにLangChainコア内にある以下が移行されることがアナウンスされています。

  • langchain/experimental 配下に含まれているもの
  • SQL chain
  • SQL agent
  • CSV agent
  • Pandas agent
  • Python agent

移行方法

移行方法は以下にガイダンスされています。

  • インストール方法
    いままで pip install -U langchain
    これから pip install -U langchain langchain_experimental
    ※当然Experimentalを使いたい場合のみ
  • Experimentalパッケージの読込み
    いままで from langchain.experimental import ...
    これから from langchain_experimental import ...
  • 各機能の読込み ex) SQLDatabaseChainの場合
    いままで from langchain.chains import SQLDatabaseChain
    これから from langchain_experimental.sql import SQLDatabaseChain

移行スケジュール

移行スケジュールは上記のアナウンスに記載されている

2023年7月21日(金)にリポジトリの構成を変更します。
2023年7月28日(金)にlangchain.experimentalの変更を行います。私たちは実験的なコードを独自のパッケージに移動します。このパッケージにはlangchain/experimentalにあるもの全てとCVEがあるものが含まれます。

すでに7/22にlangchain_experimentalパッケージが0.0.1版としてリリースされています
https://pypi.org/project/langchain-experimental/

ただしまだコアライブラリ側からはExperimentalは取り除かれていません。順調にいけば7/28にはこれらはコアから削除されて完全に移行されるそうです。

まとめ

  • LangChainを本番環境で利用するにあたり、不要なライブラリがどんどん取り込まれる効率の悪さ、脆弱性の残置など気になっていた人は多いでしょう。逆に論文の概念レベルのものがどんどん取り込まれることで、LLM界隈の知識としてとても勉強になると考える人が多かったのも事実です。これら両方のメリットを享受するための一歩として大きな飛躍と言えます。
  • Experimentalの分割はその第一弾であり、今後ドキュメントの改善やモジュール性、カスタマイズ性の向上、デバッグのしやすさの向上など、大きな変更がいくつか入っていくことが想定されます。ただ使うだけでなく、それらの作業タイムラインと背景にある考えかたを引き続き追っておくことが、より安全に効率的にLangChainを今後も使っていく上で重要であると思えます。
12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9