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 クラスを初期化する
  • クライアントを使用して接続と認証をカスタマイズする