LangChain とは

LangChain は、大規模言語モデル(LLM)を使用したアプリケーションの構築を簡素化するオープンソースのオーケストレーション フレームワークです。LLM をさまざまなデータソースに接続するためのツールとコンポーネントが用意されており、複雑なマルチステップ ワークフローを作成できます。

LangChain は Python と JavaScript のライブラリとして利用でき、開発者はそれを外部データや計算にリンクすることで、テキスト生成以外の LLM の機能も強化できます。これにより、インテリジェントな chatbot、高度な質問応答システム、自動データ分析ツールなどの高度な AI アプリケーションの開発が促進されます。

LangChain を使用して Vertex AI で AI 搭載アプリを構築する

LangChain と AI

LangChain は、特に LLM を使用するアプリケーションにおいて、開発者に多くの潜在的なメリットをもたらします。そのモジュール式の設計により、コードの再利用が促進され、開発時間が短縮されるため、迅速なプロトタイピングとイテレーションが可能になります。分散アーキテクチャにより、大量の言語データを効率的に処理できるため、スケーラビリティと高可用性が確保されます。

さらに、LangChain は LLM とのやり取りに一貫したインターフェースを提供し、API 管理の複雑さを抽象化します。このシンプルなインターフェースにより、開発者はインフラストラクチャに関する懸念にとらわれることなく、アプリケーションの構築に集中できます。

LangChain の仕組み

LangChain は、さまざまなコンポーネントを「チェーン」でつなぎ合わせて、LLM を活用したアプリケーションの一貫したワークフローを作成します。このモジュール式のアプローチでは、複雑な言語ベースの AI システムを再利用可能なコンポーネントに分解します。ユーザーがクエリを送信すると、LangChain は一連のステップを通じてこの入力を処理できます。

たとえば、一般的なワークフローは次のようになります。

  1. ユーザーのクエリを受信します。
  2. クエリを処理し、必要に応じてそれを変換または使用して、外部データソースの関連情報を検索します。
  3. データベース、API、その他のリポジトリに接続するなどして、必要なデータを取得します。LangChain には、多数のソースから取得したデータを統合するための各種ドキュメント ローダが用意されています。
  4. 取得した情報を、元のクエリとともに LLM に渡します。
  5. LLM は、提供されたコンテキストとユーザーの入力に基づいて回答を生成します。
  6. 生成された回答がユーザーに返されます。

このチェーン アプローチにより、開発者は、ユーザーのリクエストを処理して回答を作成するためにアプリケーションが実行する一連のアクションを定義できます。LangChain により、これらのステップがコンポーネントにまとめられて簡素化されるため、LLM や外部リソースとの複数のやり取りを必要とするアプリケーションの構築が容易になります。また、さまざまな LLM を使用する方法も用意されており、開発者は特定のアプリケーションに最適なモデルを自由に選択できます。

Vertex AI で LangChain を使用する方法の詳細については、こちらをご覧ください。

LangChain の主な機能

LangChain は、LLM を活用したアプリケーションの開発を容易にするように設計された一連の機能を提供します。これらの機能は、モデルとのやり取りの管理、データへの接続、複雑な動作のオーケストレーションに役立つコアコンセプトを中心に構成されています。

データの接続と取得

  • 汎用性の高いデータ統合: 構造化データベースから非構造化テキストまで、多様なデータソースとシームレスに統合し、包括的な言語理解と分析を実現します。
  • 効果的なデータ取得とキャッシュ保存: データを効率的に取得してキャッシュ保存し、言語データへのアクセスを高速化して、モデル推論中のレイテンシを最小限に抑えます。

チェーン

  • 複数のチェーンのサポート: 1 つの実行チェーン内で複数の言語モデルを同時に操作できるため、コラボレーションと調整が向上します。
  • 柔軟なチェーン トポロジ: ユーザーがチェーン内の言語モデルの配置を構成および最適化して、効率的な実行と最適なリソース割り当てを実現できるようにします。

エージェント

  • マルチエージェントのコミュニケーションとインタラクション: LangChain は、複数の言語理解エージェントの作成とデプロイをサポートし、モデル間の複雑なコラボレーションと調整を可能にします。
  • エージェントの一元的な調整: 言語理解エージェントの一元的な調整と管理を提供し、マルチエージェント システム内での効率的なタスクの分配とリソース管理を確保します。

メモリ

  • 拡張可能な外部メモリ: カスタムの外部メモリ モジュールを組み込むことで、ユーザーは特定の要件に合わせてメモリ管理を拡張およびカスタマイズできます。
  • 適応型コンテキスト割り当て: LangChain はメモリ割り当てに適応型アルゴリズムを使用し、コンテキストを効率的に保存および取得できるようにリソース使用率を最適化します。

LangChain アプリケーションと例

LangChain の柔軟性とモジュール性により、さまざまなドメインにわたって LLM を活用した幅広いアプリケーションを構築するのに適しています。一般的なアプリケーションと例を以下に示します。

chatbot と会話型エージェント

LLM をメモリや外部知識と統合することで、コンテキストを維持し、質問に答え、自然言語で会話できる高度な chatbot を構築する。

質問応答システム

特定のドキュメントやナレッジベースから情報を取得し、そのコンテキストに基づいて正確な回答を提供するシステムを作成する。

ドキュメントの要約

記事、レポート、メールなどの長いテキストの簡潔な要約を自動的に生成できるツールを開発する。

データの分析と抽出

構造化データソースまたは非構造化データソースとやり取りして、自然言語クエリに基づいて情報を取得、分析、要約するアプリケーションを構築する。

コードの理解と支援

開発者がコードを理解したり、コード スニペットを生成したり、デバッグを支援したりできるツールの開発を可能にする。

関連する外部データを取得して LLM が利用できる情報を補強するシステムを実装し、より正確で最新の回答を生成できるようにします。

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
お客様独自の課題を詳細に検討するには、Google Cloud のセールス スペシャリストまでご相談ください。

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud