見出し画像

LangChain v0.2 の概要

以下の記事が面白かったので、簡単にまとめました。

LangChain v0.2: A Leap Towards Stability


1. LangChain v0.2

LangChain v0.2」は v0.1 上に構築されており、コミュニティからのフィードバックが組み込まれています。

・langchain と langchain-community の完全な分離
・バージョン付きドキュメント
・より成熟したエージェントフレームワーク
・LLMインターフェースの標準化、特にツール呼び出しに関する改善
・ストリーミングサポートの向上
・30を超える新しいパートナー パッケージ

完全な v0.2 は数週間以内に公開されます。

2. langchain と langchain-community の完全な分離

「LangChain v0.2」での最も注目すべき変更点の1つは、「langchain」パッケージが「langchain-community」パッケージから分離されたことです。その結果、「langchain-community」は「langchain-core」と「langchain」に依存するようになりました。これは、より堅牢で自己完結型のパッケージを作成するために「langchain v0.1」から始めた作業の継続です。

「langchain-community」にはサードパーティの統合が多数含まれています。 これは、依存関係やファイルが多数存在し、統合の性質上、パッケージがCVEに対して脆弱になる場合があることを意味します。したがって、「langchain」の「langchain-community」への依存関係を削除すると、「langchain」はより軽量で、より集中的で、より安全になります。

既存エントリポイント(langchain.chat_models import ChatOpenAIなど)を引き続き公開することで、混乱を最小限に抑えた方法でこの再編成を行いました。内部では、langchain_community からの条件付きインポートが含まれます。基本的に、langchain-community がインストールされているかどうかを確認し、インストールされている場合はインポートを実行します。これは、langchain-community がインストールされている場合、重大な変更は行われないことを意味します。

3. ドキュメントの刷新

ドキュメントを刷新しました。この取り組みは 1 か月以上前から始まり、主に2つの方法で継続しています。

3-1. ドキュメントのバージョン管理

今のところ、ドキュメントはデフォルトで v0.1 になりますが、完全な v0.2 がリリースされたら、新しいドキュメントをデフォルトとして使用し始める予定です。

3-2. フラットかつシンプル

「Tutorials」「How-To guides」「Conceptual guides」「API reference」の4つの主要セクションがあります。これにより、ドキュメント検索が容易になり、一貫したガイドの最小限のセットを維持できるようになります。

また、LangChainへの変更を紹介するため、「LangChain Over Time」ページの作成にも取り組んでいます。

4. LangGraph エージェント

LangChainの初期からのフィードバックの最大ポイントの1つは、事前構築されたチェーンとエージェントの内部のカスタマイズが難しいということでした。この問題を解決するために昨年夏に「LCEL」を導入し、任意の構成可能なシーケンスを簡単に作成できるようにしました。

これまで、LangChainエージェントは常に、エージェントの実行方法をハードコードしたロジックを備えた単一クラスである「AgentExecutor」をベースにしてきました。ますます高度なエージェントをサポートするために、このクラスに引数をさらに追加してきましたが、まだ真に構成可能ではありません。

数か月前、エージェントワークロードの作成を目的とした「LangGraph」を導入しました。 「エージェント向けのLCEL」と考えてください。 これは、「サイクルを簡単に定義する機能」 (エージェントにとって重要ですが、チェーンには必要ありません) と「内蔵メモリ」という2つの重要なコンポーネントを追加した「LCEL」の上に構築されています。

「LangChain v0.2」では、古い「AgentExecutor」を保持していますが、エージェント構築に推奨される方法は「LangGraph」になりつつあります。「AgentExecutor」と同等の事前構築済み「LangGraph」オブジェクトを追加しました。これは、「LangGraph」上に構築されているため、カスタマイズと変更がはるかに簡単です。移行方法に関するドキュメントについては、こちらを参照してください。

5. LangChain v0.1.0 での進化

今年の初めの「LangChain v0.1」リリース以来、次の領域で大幅な改善を行ってきました。

5-1. 標準チャットモデル インターフェイス

異なるLLM間のシームレスな切り替えをできるだけ簡単にしたいと考えています。これを行うため、「Tool Calling」を標準化し、「structuring output」の標準化インターフェイスを追加しました。

5-2. 非同期サポート

多くのコア抽象化に対する非同期サポートが改善されました。

5-3. ストリーミング サポート

ストリーミングは LLM アプリケーションにとって重要であり、「Event Streaming API」を追加することで改善しました。

5-4. パートナーパッケージ

安定した信頼性の高い統合を実現することは、私たちにとって最優先事項です。エコシステム パートナーと緊密に連携して、「MongoDB」「Mistral」「Together AI」を含む20以上のPythonプロバイダと、「Google VertexAI」「Weaviate」「Cloudflare」を含む17のJavaScriptプロバイダ専用パッケージを追加しました。

6. アップグレード方法

「LangChain v0.2」には多くの改良が含まれており、最小限の変更で互換性を維持するように設計されています。また、問題を軽減するための移行 CLI の追加や、バージョン間の変更点を強調するドキュメントの追加にも取り組んでいます。

「CLI」をテストし、「v0.2」プレリリースをインストールする方法の詳細については、GitHub discussions threadを確認してください。5月20日の週に完全な移行ガイドが公開される予定です。



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