見出し画像

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

先週の 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

https://github.com/hwchase17/langchain/discussions/8043

移行方法

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

https://github.com/hwchase17/langchain/blob/master/MIGRATE.md

- インストール方法
いままで `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`

https://github.com/hwchase17/langchain/blob/master/MIGRATE.md

移行スケジュール

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

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

https://github.com/hwchase17/langchain/discussions/8043

すでに7/22にlangchain_experimentalパッケージが0.0.1版としてリリースされています

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

まとめ

  • LangChainを本番環境で利用するにあたり、不要なライブラリがどんどん取り込まれる効率の悪さ、脆弱性の残置など気になっていた人は多いでしょう。逆に論文の概念レベルのものがどんどん取り込まれることで、LLM界隈の知識としてとても勉強になると考える人が多かったのも事実です。これら両方のメリットを享受するための一歩として大きな飛躍と言えます。

  • Experimentalの分割はその第一弾であり、今後ドキュメントの改善やモジュール性、カスタマイズ性の向上、デバッグのしやすさの向上など、大きな変更がいくつか入っていくことが想定されます。ただ使うだけでなく、それらの作業タイムラインと背景にある考えかたを引き続き追っておくことが、より安全に効率的にLangChainを今後も使っていく上で重要であると思えます。

この記事が気に入ったらサポートをしてみませんか?