LangChain を使用して、LLM を活用したアプリケーションを構築する

このページでは、LangChain を使用して LLM を活用したアプリケーションを構築する方法について説明します。このページの概要は、GitHub の手続きガイドにリンクされています。

LangChain とは

LangChain は、デベロッパーが生成 AI アプリケーションや検索拡張生成(RAG)ワークフローの構築に役立つ LLM オーケストレーション フレームワークです。複雑な LLM ワークフローを合理化するための構造、ツール、コンポーネントが提供されます。

LangChain の詳細については、Google LangChain のページをご覧ください。LangChain フレームワークの詳細については、LangChain のプロダクト ドキュメントをご覧ください。

Bigtable の LangChain コンポーネント

Bigtable には、LangChain とのインターフェースとして次のものがあります。

Bigtable の LangChain クイックスタートで LangChain の使用方法を学習します。このクイックスタートでは、Netflix 映画データセットにアクセスするアプリを作成し、ユーザーが映画データとやり取りできるようにします。

Bigtable 用のドキュメント ローダー

ドキュメント ローダーは、LangChain Document オブジェクトの保存、読み込み、削除を行います。たとえば、エンベディングに処理するデータを読み込んで、ベクトルストアに保存するか、チェーンに特定のコンテキストを提供するツールとして使用できます。

Bigtable でドキュメント ローダーからドキュメントを読み込むには、BigtableLoader クラスを使用します。BigtableLoader メソッドは、テーブルから 1 つ以上のドキュメントを返します。BigtableSaver クラスを使用して、ドキュメントの保存と削除を行います。

詳細については、LangChain ドキュメント ローダーのトピックをご覧ください。

ドキュメント ローダーの手順ガイド

ドキュメント ローダーに関する Bigtable ガイドでは、次のことを行う方法を説明します。

  • インテグレーション パッケージと LangChain をインストールする
  • テーブルからドキュメントを読み込む
  • ローダーにフィルタを追加する
  • 接続と認証をカスタマイズする
  • お客様のコンテンツとメタデータを指定してドキュメントの作成をカスタマイズする
  • ドキュメントを保存および削除するために BigtableSaver を使用してカスタマイズする方法

Bigtable のチャット メッセージ履歴

質問に回答するアプリケーションでは、ユーザーからの追加の質問に回答するのにアプリケーションにコンテキストを提供するために、行われた会話の履歴が必要です。LangChain ChatMessageHistory クラスを使用すると、アプリケーションでメッセージを保存し、さらに回答を作成するために必要に応じて取得できます。メッセージには、質問、回答、談話、挨拶、ユーザーまたはアプリケーションが会話中に行ったその他の文章が含まれます。ChatMessageHistory は各メッセージを保存し、会話ごとにメッセージを連結します。

Bigtable では、このクラスを BigtableChatMessageHistory で拡張します。

チャット メッセージ履歴の手順ガイド

チャット メッセージ履歴に関する Bigtable ガイドでは、次のことを行う方法について説明します。

  • LangChain をインストールして、 Google Cloudに対して認証する
  • Bigtable スキーマを初期化する
  • メッセージの追加と削除のための BigtableChatMessageHistory クラスを初期化する
  • クライアントを使用して接続と認証をカスタマイズする