このページでは、LangChain を使用して大規模言語モデル(LLM)を活用した アプリケーションを構築する方法について説明します。このページの概要は、GitHub の手続きガイドにリンクされています。
LangChain とは
LangChain は、デベロッパーが生成 AI アプリケーションや検索拡張生成(RAG)ワークフローを構築するのに役立つ LLM オーケストレーション フレームワークです。複雑な LLM ワークフローを合理化するための構造、ツール、コンポーネントが提供されます。
LangChain の詳細については、Google LangChain のページをご覧ください。LangChain フレームワークの詳細については、 LangChain プロダクト ドキュメントをご覧ください。
Memorystore for Redis Cluster の LangChain コンポーネント
Memorystore for Redis Cluster には、次の LangChain インターフェースが用意されています。
Memorystore for Redis Cluster の LangChain クイックスタートで LangChain の使用方法を学習します。
Memorystore for Redis Cluster のベクトルストア
ベクトルストアによって、ドキュメントとメタデータがベクトル データベースから取得され、保存されます。 ベクトルストアをアプリケーションで使用すると、ユーザークエリの意味を解釈するセマンティック検索が可能になります。この種の検索はベクトル検索と呼ばれ、これを利用すると概念的にクエリに一致するトピックを見つけることができます。クエリ時に、検索リクエストのエンベディングに最も類似したエンベディング ベクトルがベクトルストアによって取得されます。LangChain の中では、デベロッパーの代わりにベクトルストアが、エンベディングされたデータの保存とベクトル検索の実行を担当します。
Memorystore for Redis Cluster でベクトルストアを操作するには、RedisVectorStore クラスを使用します。
詳細については、 LangChain プロダクト ドキュメントをご覧ください。
ベクトルストアの手順ガイド
ベクトルストアに関する Memorystore for Redis Cluster ガイド では、次のことを行う方法について説明しています。
- 統合パッケージと LangChain をインストールする。
- ベクトル インデックスを初期化する。
- ベクトルストア用のドキュメントを準備する。
- ベクトルストアにドキュメントを追加する。
- 類似度検索(KNN)を行う。
- 範囲ベースの類似度検索を行う。
- 周辺関連性最大化(MMR)検索を行う。
- Retriever としてベクトルストアを使用する。
- ベクトルストアからドキュメントを削除する。
- ベクトル インデックスを削除する。
Memorystore for Redis Cluster のドキュメント ローダ
ドキュメント ローダによって、LangChain の Document オブジェクトの保存、読み込み、削除が行われます。
たとえば、エンベディングに処理するデータを読み込んで、ベクトルストアに保存するか、チェーンに特定のコンテキストを提供するツールとして使用できます。
Memorystore for Redis Cluster でドキュメント ローダからドキュメントを読み込むには、MemorystoreDocumentLoader クラスを使用します。ドキュメントを保存して削除するには、MemorystoreDocumentSaver クラスを使用します。
詳細については、ドキュメント ローダをご覧ください。
ドキュメント ローダの手順ガイド
ドキュメント ローダに関する Memorystore for Redis Cluster ガイドでは、次のことを行う方法について説明しています。
- 統合パッケージと LangChain をインストールする。
- テーブルからドキュメントを読み込む。
- ドキュメント ローダにフィルタを追加する。
- 接続と認証をカスタマイズする。
- 顧客のコンテンツとメタデータを指定してドキュメントの作成をカスタマイズする。
MemorystoreDocumentSaverクラスを使用してドキュメントを保存および削除する。
Memorystore for Redis Cluster のチャット メッセージの履歴
質問に回答するアプリケーションでは、ユーザーからの追加の質問に回答するのにアプリケーションにコンテキストを提供するために、行われた会話の履歴が必要です。LangChain の ChatMessageHistory クラスをアプリケーションで使用すると、メッセージをデータベースに保存しておいて、さらに回答を考案するために必要になったときに取り出すことができます。メッセージには、質問、回答、談話、挨拶、ユーザーまたはアプリケーションが会話中に行ったその他の文章が含まれます。
ChatMessageHistory によって各メッセージが保存され、会話ごとにメッセージが連結されます。
Memorystore for Redis Cluster は、MemorystoreChatMessageHistory でこのクラスを拡張します。
チャット メッセージの履歴の手順ガイド
チャット メッセージ 履歴に関する Memorystore for Redis Cluster ガイドでは、次の方法について説明しています。
- LangChain をインストールして Google Cloudに対して認証を行う。
- メッセージの追加と削除のための
MemorystoreChatMessageHistoryクラスを初期化する。