QueryData の概要

QueryData を使用すると、会話型言語と、データのクエリを支援するために構築したデータ エージェントを使用して、データを操作できます。データ エージェントは、ユーザーの意図を理解し、運用データをクエリして、正確で根拠のある回答を返すことができる AI 搭載のアシスタントとアプリケーションです。QueryData は、キュレートされたブループリント、ビジネス ロジック、スキーマ情報のコレクションであるコンテキスト セットを使用して、データベースのクエリを生成します。このコンテキストにより、QueryData は自然言語の質問を対象となるユースケースに適した正確なクエリに変換できます。

QueryData を使用する場面

QueryData は、次のようなアプリケーションに最適です。

  • カスタマー サービスの自動化: 「注文した商品はどこにありますか?」、「現在の残高はいくらですか?」といった大量の問い合わせに対応します。
  • e コマースのショッピング アシスタント: 「100 ドル以下のランニング シューズを見せて」といった自然言語のクエリを使用して、ユーザーが膨大な商品カタログをナビゲートできるようにします。
  • 現場で操作するツール: 外勤従業員が在庫状況、部品の入手可能性、サービス チケットの詳細をリアルタイムでクエリできるようにします。

基本コンセプト

会話形式の質問をデータベース クエリに確実に変換するために、QueryData は次の重要なコンセプトに依存しています。

QueryData と Conversational Analytics API

Conversational Analytics API の QueryData エンドポイントは、データベースに対して自然言語から SQL クエリをプログラムで生成できるようにするエージェント ツールです。会話型アプリケーションまたは Agentic Workflows 内では、QueryData エンドポイントがスキーマの解釈とクエリの合成を処理します。エージェント ハーネス(Antigravity、Agent Development Kit(ADK)、LangChain など)は、会話履歴、ユーザーの状態、ツール オーケストレーションを管理して、ユーザーの入力をコンテキスト化してから、QueryData エンドポイントに自然言語リクエストを送信します。

コンテキスト セット

コンテキスト セットは、データベース インスタンスに関連付けられたデータベース固有の知識、厳選されたクエリ パターン、ビジネスルールのコレクションです。QueryData は、一般的な LLM の知識や未加工のテーブル スキーマのみに依存するのではなく、コンテキスト セットを使用して、データモデルのニュアンスや組織固有の用語を理解します。

コンテキスト セットには、次の 3 つの主要なビルディング ブロックが含まれています。

  • クエリ ブループリント: 代表的な自然言語の質問と、それに対応する事前検証済みの SQL クエリのペア。ブループリントは、特定のビジネス インテントが SQL ステートメントにどのようにマッピングされるかを定義する正規の例を提供します。
  • クエリ ファセット: モジュラー SQL 述語とフィルタ条件(期間、しきい値の計算、ビジネスフラグなど)。ファセットを使用すると、QueryData は、組み合わせごとに個別のブループリントを必要とせずに、複数のフィルタ条件をクエリに動的に組み合わせることができます。
  • 値検索: データベース列に保存されている正確な値に非公式なフレーズを関連付けるセマンティック クエリと文字列照合クエリ。値検索は、完全一致、トライグラム文字列の類似性、セマンティック ベクトル エンベディングを使用して、あいまいさを解消するのに役立ちます(たとえば、「Bay Area」を San Francisco にマッピングしたり、「Heathrow」を London Heathrow Airport にマッピングしたりします)。

パラメータ化されたセキュアビュー

AI 生成のクエリが行レベルのセキュリティとマルチテナント分離を遵守するようにするには、パラメータ化されたセキュアビューを使用します。これにより、生成された SQL は、認証されたアプリケーション ユーザーが閲覧を許可されているデータ行にのみアクセスするように制限されます。詳細については、パラメータ化されたセキュアなビューを使用して、アプリケーション データへのアクセスの保護と制御を行うをご覧ください。

QueryData の仕組み

エージェントまたはアプリケーションが自然言語リクエスト(エージェントが会話履歴やユーザーの状態をコンテキスト化したユーザーの質問など)を送信すると、QueryData は次の手順を実行します。

  1. 値の解決: QueryData は、データベースに対して値検索クエリを実行し、プロンプト内のエンティティ(名前、都市、カテゴリなど)を特定のデータベース列の値にマッピングします。
  2. インテントのマッチングと曖昧さ回避: QueryData は、コンテキスト セットで定義した厳選されたクエリ ブループリントとファセットに対して、コンテキスト化されたリクエストを照合します。リクエストが不十分または曖昧な場合、QueryData は曖昧性除去の質問を返すことができるため、エージェントまたはアプリケーションはユーザーに明確化を求めることができます。
  3. クエリの合成: 一致したブループリント構造、適用されたファセット、解決された値を使用して、QueryData はデータベース エンジン用の完全な SQL クエリを合成します。
  4. クエリの実行: 生成されたクエリがデータベースに対して実行され、結果が返されます。

コンテキスト セットを作成して管理する

コンテキスト セットを作成して管理するには、次の操作を行います。

  1. 作成者のコンテキスト: データベースのクエリ ブループリント、ファセット、値検索を定義します。詳細については、コンテキスト セットの概要をご覧ください。コンテキスト エンジニアリング エージェントを使用して、コンテキストの作成を自動化することもできます。
  2. Google Cloud コンソールで管理する: Cloud SQL Studio でコンテキスト セットを作成して管理し、クエリ生成で使用できるようにします。
  3. アプリケーションと統合する: MCP ツールボックスまたは直接 API 呼び出しを使用して、アプリケーションまたは AI エージェントを QueryData に接続します。

料金

コンテキスト セットを作成し、データ エージェントまたはデータベース データソースで QueryData を使用するときに実行されるクエリに対して、Cloud SQL for PostgreSQL のコンピューティング料金が発生します。プレビュー期間中は、コンテキスト セットと QueryData の作成と使用に対して追加料金はかかりません。詳細については、データクラウド Agent の料金をご覧ください。

次のステップ