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

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

LangChain とは

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

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

Cloud SQL for SQL Server の LangChain コンポーネント

Cloud SQL for SQL Server には、次の LangChain インターフェースが用意されています。

Cloud SQL for SQL Server の LangChain クイックスタートで LangChain の使用方法を学習します。

Cloud SQL for SQL Server のドキュメント ローダ

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

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

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

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

Cloud SQL for SQL Server のドキュメント ローダ ガイドでは、次のことを行う方法について説明します。

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

Cloud SQL for SQL Server のチャット メッセージ履歴

Q&A のアプリケーションでは、会話内の発言の履歴が必要です。これで、そのユーザーからのそれ以降の質問に回答するためのコンテキストをアプリケーションに与えることができます。LangChain の ChatMessageHistory クラスをアプリケーションで使用すると、メッセージをデータベースに保存しておいて、さらに回答を考案するために必要になったときに取り出すことができます。このメッセージとは、質問、回答、主張、挨拶などの、ユーザーまたはアプリケーションから会話中に発せられたテキストのことです。ChatMessageHistory によって各メッセージが保存され、会話ごとにメッセージが連結されます。

Cloud SQL for SQL Server は、このクラスを MSSQLChatMessageHistory で拡張します。

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

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

  • LangChain をインストールして Google Cloud に対する認証を行う
  • MSSQLEngine オブジェクトを作成し、Cloud SQL for SQL Server データベースへの接続プールを構成する
  • テーブルを初期化する
  • メッセージの追加と削除のための MSSQLChatMessageHistory クラスを初期化する
  • LangChain Expression Language(LCEL)と Google の Vertex AI チャットモデルを使用して、メッセージ履歴のチェーンを作成する