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

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

LangChain とは

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

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

Bigtable 用の LangChain コンポーネント

Bigtable は、次の LangChain インターフェースを提供します。

Bigtable の LangChain クイックスタートで LangChain の使用方法を学習します。このクイックスタートでは、Netflix Movie データセットにアクセスして、ユーザーが映画データを操作できるようにアプリケーションを作成します。

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

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

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

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

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

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

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

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

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

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

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

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

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