データ エージェントを構築し、データを使ってチャットする

デベロッパーは、geminidataanalytics.googleapis.com またはリージョン エンドポイントを介してアクセスできる Conversational Analytics API を使用して、人工知能(AI)を活用したチャット インターフェース(データ エージェント)を構築できます。この API は、自然言語を使用して BigQuery、Looker、データポータルの構造化データに関する質問に回答します。また、QueryData メソッドを使用した AlloyDB、GoogleSQL for Spanner、Cloud SQL、Cloud SQL for PostgreSQL からのデータクエリもサポートしています。

Conversational Analytics API を使用すると、データ エージェントにビジネス情報とデータ(コンテキスト)を提供し、SQL、Python、可視化ライブラリなどのツールへのアクセス権を付与できます。これらのエージェントの回答はユーザーに表示され、クライアント アプリケーションによってログに記録されるため、シームレスで監査可能なデータチャット エクスペリエンスを実現できます。

Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。

Conversational Analytics API を使ってみる

Conversational Analytics API の使用を開始するには、次のドキュメントで利用可能な統合アプローチと基本的なコンセプトを確認してください。

データ エージェントの構築を開始するには、設定と前提条件のドキュメントの手順を完了します。ガイド付きチュートリアル、サンプル アプリケーション、SDK、その他の開発ツールについては、Conversational Analytics API のチュートリアル、デモ、ツールをご覧ください。

設定と前提条件

API またはサンプルを使用する前に、次の手順を完了します。

  • Conversational Analytics API を有効にする: Conversational Analytics API を有効にするための前提条件について説明します。
  • IAM によるアクセス制御: Identity and Access Management を使用してデータ エージェントへのアクセスを共有および管理する方法について説明します。
  • データソースの認証と接続を行う: API の認証と、BigQuery、Lakehouse、Looker、データポータル、Cloud Databases(AlloyDB、GoogleSQL for Spanner、Cloud SQL、Cloud SQL for PostgreSQL)のデータへの接続の構成手順について説明します。
  • 顧客管理の暗号鍵(CMEK): Cloud Key Management Service で独自の暗号鍵を使用して、Looker データソースを使用するデータ エージェントと会話を保護する方法について説明します。
  • 組織のポリシーの制約: 事前定義された組織のポリシーの制約を使用して、組織、フォルダ、プロジェクト レベルでリソースを制御する方法について説明します。

データ エージェントを構築して操作する

上記の手順が完了したら、Conversational Analytics API を使用してデータ エージェントを作成し、次の操作を行います。

ベスト プラクティス

Conversational Analytics API を使用する際のベスト プラクティスについては、次のガイドをご覧ください。

API リファレンスとクライアント ライブラリ

主な API オペレーション

この API には、データ エージェントと会話を管理するための次のコア エンドポイントが用意されています。

オペレーション HTTP メソッド エンドポイント 説明
エージェントを作成する POST /v1/projects/*/locations/*/dataAgents 新しいデータ エージェントを作成します。
エージェントを同期的に作成する POST /v1/projects/*/locations/*/dataAgents:createSync 新しいデータ エージェントを同期的に作成します。
エージェントを取得する GET /v1/projects/*/locations/*/dataAgents/* 特定のデータ エージェントの詳細を取得します。
Identity and Access Management ポリシーを取得する POST /v1/projects/*/locations/*/dataAgents/*:getIamPolicy 特定のデータ エージェントに対して各ユーザーに割り当てられている Identity and Access Management 権限を取得します。データ エージェント オーナーのロールを持つユーザーは、このエンドポイントを呼び出して、setIAMpolicy エンドポイントを使用してデータ エージェントを他のユーザーと共有する前に、データ エージェントの Identity and Access Management ポリシーを表示できます。
Identity and Access Management ポリシーを設定する POST /v1/projects/*/locations/*/dataAgents/*:setIamPolicy 特定のデータ エージェントの Identity and Access Management ポリシーを設定します。データ エージェント オーナーのロールを持つユーザーは、このエンドポイントを呼び出してデータ エージェントを他のユーザーと共有する必要があります。これにより、これらのユーザーの Identity and Access Management の権限が効果的に更新されます。
エージェントを更新する PATCH /v1/projects/*/locations/*/dataAgents/* 既存のデータ エージェントを変更します。
エージェントを同期的に更新する PATCH /v1/projects/*/locations/*/dataAgents/*:updateSync 既存のデータ エージェントを同期的に変更します。
エージェントのリスト表示 GET /v1/projects/*/locations/*/dataAgents プロジェクトで使用可能なデータ エージェントを一覧表示します。
アクセス可能なエージェントのリスト表示 GET /v1/projects/*/locations/*/dataAgents:listaccessible プロジェクトで使用可能なデータ エージェントを一覧表示します。この API を呼び出すユーザーがエージェントに対する get 権限を持っている場合、データ エージェントはアクセス可能と見なされます。creator_filter フィールドを使用して、このメソッドが返すエージェントを管理できます。
  • NONE(デフォルト): エージェントの作成者に関係なく、ユーザーがアクセスできるすべてのデータ エージェントを返します。
  • CREATOR_ONLY: ユーザーがアクセスでき、そのユーザーが作成したデータ エージェントのみを返します。
  • NOT_CREATOR_ONLY: ユーザーがアクセスでき、他のユーザーが作成したデータ エージェントのみを返します。
エージェントを削除する DELETE /v1/projects/*/locations/*/dataAgents/* データ エージェントを削除します。
エージェントを同期的に削除する DELETE /v1/projects/*/locations/*/dataAgents/*:deleteSync データ エージェントを同期的に削除します。
会話を作成する POST /v1/projects/*/locations/*/conversations 新しい永続的な会話を開始します。
会話を参照してチャットする POST /v1/projects/*/locations/*:chat 既存の会話とその関連するエージェント コンテキストを参照するチャット メッセージを送信して、ステートフルな会話を継続します。マルチターンの会話の場合、 Google Cloud が会話履歴を保存して管理します。
データ エージェントを参照してチャットする POST /v1/projects/*/locations/*:chat コンテキストの保存済みデータ エージェントを参照するステートレス チャット メッセージを送信します。マルチターンの会話では、アプリケーションが会話履歴を管理し、各リクエストで会話履歴を提供する必要があります。
インライン コンテキストを使用してチャットする POST /v1/projects/*/locations/*:chat 保存されたデータ エージェントは使用せず、リクエストでコンテキストを直接提供してステートレスなチャット メッセージを送信します。マルチターンの会話では、アプリケーションが会話履歴を管理し、各リクエストで会話履歴を提供する必要があります。
会話を取得する GET /v1/projects/*/locations/*/conversations/* 特定の会話の詳細を取得します。
スレッドのリストを取得 GET /v1/projects/*/locations/*/conversations 特定のプロジェクト内の会話を一括で取得します。
会話内のメッセージを一覧で取得する GET /v1/projects/*/locations/*/conversations/*/messages 特定の会話内のメッセージの一覧を取得します。
会話を削除する DELETE /v1/projects/*/locations/*/conversations/* 特定の会話を削除します。このエンドポイントを呼び出すには、トピック管理者の Identity and Access Management ロールまたは少なくとも cloudaicompanion.topics.delete の Identity and Access Management 権限が必要です。
データのクエリ POST /v1beta/projects/*/locations/*/conversations:queryData 自然言語を使用して、AlloyDB、GoogleSQL for Spanner、Cloud SQL、Cloud SQL for PostgreSQL データベースのデータをクエリします。

サポートとフィードバック

サポートが必要な場合や問題を報告する場合は、カスタマーケアにお問い合わせください。サポートケースの作成と管理の手順に沿って、サポートケースを開きます。ケースを作成する際は、次のガイドラインに沿って対応してください。

  • BigQuery での Conversational Analytics API のサポートについては、[Select a product] リストで [BigQuery] を選択し、[Feature] フィールドで [AI and Machine Learning::Conversational Analytics API in BigQuery] を選択します。
  • Looker の Conversational Analytics API のサポートについては、[プロダクトを選択] リストで [Looker(オリジナル)] を選択し、[機能] フィールドで [Gemini in Looker::Conversational Analytics API] を選択します。

会話分析 API に関する一般的なフィードバックや質問がある場合は、conversational-analytics-api-feedback@google.com 宛てにメールをお送りください。メールでの返信は保証できませんが、メールはすべて確認し、ロードマップの計画時にこのフィードバックを参照します。

新しい Conversational Analytics API 機能の機能リクエストを送信することもできます。