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