LangChain を使用して、LLM を活用したアプリケーションを構築する
このページでは、LangChain を使用して LLM 活用アプリケーションを構築する方法を紹介します。このページの概要は、GitHub の手続きガイドにリンクされています。
LangChain とは
LangChain は、デベロッパーが生成 AI アプリケーションや検索拡張生成(RAG)ワークフローを構築するのに役立つ LLM オーケストレーション フレームワークです。複雑な LLM ワークフローを合理化するための構造、ツール、コンポーネントが提供されます。
LangChain の詳細については、Google LangChain のページをご覧ください。LangChain フレームワークの詳細については、LangChain プロダクト ドキュメントをご覧ください。
Firestore の LangChain コンポーネント
Firestore には、LangChain とのインターフェースとして次のものがあります。
Firestore 用のベクトルストア
ベクトルストアは、ベクトル データベースからドキュメントとメタデータを取得して保存します。ベクトルストアをアプリケーションで使用すると、ユーザークエリの意味を解釈するセマンティック検索が可能になります。この種の検索はベクトル検索と呼ばれ、これを利用すると概念的にクエリに一致するトピックを見つけることができます。クエリ時に、ベクトルストアは、検索リクエストのエンベディングに最も類似したエンベディング ベクトルを取得します。LangChain では、ベクトルストアが埋め込みデータの保存とベクトル検索を行います。
Firestore でベクトルストアを操作するには、FirestoreVectorStore
クラスを使用します。
詳細については、LangChain ベクトルストアのプロダクト ドキュメントをご覧ください。
ベクトルストア手順ガイド
ベクトルストアに関する Firestore ガイドでは、次のことを行う方法について説明します。
- 統合パッケージと LangChain をインストールする
- ベクトルストアのテーブルを初期化する
VertexAIEmbeddings
を使用してエンベディング サービスを設定するFirestoreVectorStore
を初期化する- ドキュメントを更新、削除する
- 類似ドキュメントを検索する
- カスタム ベクトルストアを作成して、ベクトル エンベディングを含むテーブルを持つ既存の Firestore データベースに接続する
Firestore 用ドキュメント ローダー
ドキュメント ローダーは、LangChain Document
オブジェクトの保存、読み込み、削除を行います。たとえば、エンベディングに処理するデータを読み込んで、ベクトルストアに保存するか、チェーンに特定のコンテキストを提供するツールとして使用できます。
Firestore からドキュメントを読み込むには、FirestoreLoader
クラスを使用します。FirestoreLoader
メソッドは、テーブルから 1 つ以上のドキュメントを返します。FirestoreSaver
クラスを使用して、ドキュメントの保存と削除を行います。
詳細については、LangChain ドキュメント ローダーのトピックをご覧ください。
ドキュメント ローダーの手順ガイド
ドキュメント ローダーに関する Firestore ガイドでは、次の方法について説明します。
- 統合パッケージと LangChain をインストールする
- ドキュメントをテーブルから読み込む
- ローダにフィルタを追加する
- 接続と認証をカスタマイズする
- お客様のコンテンツとメタデータを指定してドキュメントの作成をカスタマイズする
- ドキュメントを保存および削除するために
FirestoreSaver
を使用してカスタマイズする方法
Firestore のチャット メッセージ履歴
質問に回答するアプリケーションでは、ユーザーからの追加の質問に回答するのにアプリケーションにコンテキストを提供するために、行われた会話の履歴が必要です。LangChain の ChatMessageHistory
クラスをアプリケーションで使用すると、メッセージをデータベースに保存しておいて、さらに回答を考案するために必要になったときに取り出すことができます。メッセージには、質問、回答、談話、挨拶、ユーザーまたはアプリケーションが会話中に行ったその他の文章が含まれます。ChatMessageHistory
は各メッセージを保存し、会話ごとにメッセージを連結します。
Firestore では、このクラスを FirestoreChatMessageHistory
で拡張します。
チャット メッセージ履歴の手順ガイド
チャット メッセージ履歴に関する Firestore ガイドでは、次の方法について説明します。
- LangChain をインストールして Google Cloudに対して認証を行う
- メッセージの追加と削除のための
FirestoreChatMessageHistory
クラスを初期化する - クライアントを使用して接続と認証をカスタマイズする