QueryData を使用すると、会話調の言葉と、データのクエリに役立つように構築したデータ エージェントを使用してデータを操作できます。データ エージェントは、ユーザーの意図を理解し、運用データに対してクエリを実行して、正確で根拠のある回答を返すことができる AI を活用したアシスタントとアプリケーションです。QueryData は、コンテキスト セット(厳選されたブループリント、ビジネス ロジック、スキーマ情報のコレクション)を使用して、データベースのクエリを生成します。このコンテキストにより、QueryData は自然言語の質問を対象となるユースケースに適した正確なクエリに変換できます。
QueryData を使用する場合
QueryData は、次のようなアプリケーションに最適です。
- カスタマー サービスの自動化: 「注文した商品はどこにありますか?」、「現在の残高はいくらですか?」といった大量の問い合わせに対応します。
- e コマースのショッピング アシスタント: 「100 ドル以下のランニング シューズを見せて」といった自然言語のクエリを使用して、ユーザーが膨大な商品カタログをナビゲートできるようにします。
- 現場で操作するツール: 外勤従業員が在庫状況、部品の入手可能性、サービス チケットの詳細をリアルタイムでクエリできるようにします。
基本コンセプト
会話形式の質問をデータベース クエリに確実に変換するために、QueryData は次の重要なコンセプトに依存しています。
QueryData と Conversational Analytics API
Conversational Analytics API の QueryData エンドポイントは、データベースの自然言語から SQL への変換(NL2SQL)クエリをプログラムで生成できるエージェント ツールです。会話型アプリケーションまたは 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 は次の手順を実行します。
- 値の解決: QueryData は、データベースに対して値検索クエリを実行し、プロンプト内のエンティティ(名前、都市、カテゴリなど)を特定のデータベース列の値にマッピングします。
- インテントのマッチングと曖昧さ回避: QueryData は、コンテキスト セットで定義した厳選されたクエリ ブループリントとファセットに対して、コンテキスト化されたリクエストを照合します。リクエストの指定が不十分または曖昧な場合、QueryData は曖昧さ解消のための質問を返すことができます。これにより、エージェントまたはアプリケーションはユーザーに明確化を求めることができます。
- クエリの合成: 一致したブループリント構造、適用されたファセット、解決された値を使用して、QueryData はデータベース エンジン用の完全な SQL クエリを合成します。
- クエリの実行: 生成されたクエリがデータベースに対して実行され、結果が返されます。
コンテキスト セットを作成して管理する
コンテキスト セットを作成して管理するには、次の操作を行います。
- 作成者のコンテキスト: データベースのクエリ ブループリント、ファセット、値検索を定義します。詳細については、コンテキスト セットの概要をご覧ください。コンテキスト エンジニアリング エージェントを使用して、コンテキストの作成を自動化することもできます。
- Google Cloud コンソールで管理する: Cloud SQL Studio でコンテキスト セットを作成して管理し、クエリ生成で使用できるようにします。
- アプリケーションと統合する: MCP ツールボックスまたは直接 API 呼び出しを使用して、アプリケーションまたは AI エージェントを QueryData に接続します。
次のステップ
- Cloud SQL Studio で QueryData をテストする方法を確認する。
- コンテキスト セットを作成して管理する方法を学習する。
- コンテキスト エンジニアリング エージェントを使用してコンテキスト セットを構築する方法を学習する。