デベロッパーは、geminidataanalytics.googleapis.com
を介してアクセスできる Conversational Analytics API を使用して、BigQuery、Looker、Looker Studio の構造化データに関する質問に自然言語で回答する人工知能(AI)を活用したチャット インターフェース(データ エージェント)を構築できます。
このページでは、直接 HTTP リクエストまたは SDK を使用して、Conversational Analytics API の認証を行い、Looker、BigQuery、Looker Studio でデータへの接続を構成する方法について説明します。Conversational Analytics API は、標準の Google Cloud 認証方法を使用します。
始める前に
Conversational Analytics API で認証を行い、データへの接続を構成するには、Conversational Analytics API を有効にするで説明されている前提条件を満たし、 Google Cloud プロジェクトに必要な API を有効にする必要があります。
Conversational Analytics API に対する認証を行う
このセクションでは、HTTP メソッドと Python メソッドを使用して必要な認可トークンを取得し、Conversational Analytics API に対する認証(geminidataanalytics.googleapis.com
経由で)を行う方法について説明します。
HTTP curl
次の curl
コマンドのサンプルは、Conversational Analytics API にリクエストを送信します。gcloud auth print-identity-token
コマンドは、認可に使用されるアクセス トークンを提供します。コードサンプルで、
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://geminidataanalytics.googleapis.com/
Python を使用した HTTP
次の Python サンプルコードは、Google Cloud CLI と Python を使用して HTTP 認証用のアクセス トークンを取得する方法を示しています。
billing_project = 'YOUR_BILLING_PROJECT'
access_token = !gcloud auth application-default print-access-token
url = f"https://geminidataanalytics.googleapis.com/v1alpha/projects/{billing_project}:method"
headers = {"Authorization": f'Bearer {access_token[0]}'}
サンプル値を次のように置き換えます。
- YOUR_BILLING_PROJECT: 必要な API が有効になっている課金プロジェクトの ID。
- method: ターゲット エンドポイントのリソースパス。例:
- データ エージェントを作成するには、
POST
メソッドとリソースパス/v1alpha/projects/{billing_project}/locations/global/dataAgents
を使用します。 - 既存のデータ エージェントの一覧を取得するには、
GET
メソッドとリソースパス/v1alpha/projects/{billing_project}/locations/global/dataAgents
を使用します。
- データ エージェントを作成するには、
Python SDK
次の Python コードサンプルは、Colaboratory 内で Conversational Analytics API にアクセスするために Google アカウントを認証する方法を示しています。
from google.colab import auth
auth.authenticate_user()
Conversational Analytics API を使用して Looker に接続する
Conversational Analytics API を使用して Looker に接続するには、次の情報を指定する必要があります。
- Looker インスタンスの URL
- データソースとして使用する特定の LookML モデルと Looker Explore
認証には、Looker API キー(クライアント ID とクライアント シークレット)またはアクセス トークンを使用できます。
Looker API キーによる認証
このセクションでは、直接 HTTP リクエストまたは SDK を使用して API キーを生成し、Conversational Analytics API を構成して Looker に接続する方法について説明します。
Looker インスタンスとの接続を確立するには、有効な Looker API キーが必要です。このキーは Looker によって作成され、クライアント ID とクライアント シークレットで構成されます。Looker は、これらのキーを使用して Looker API へのリクエストを認可します。
新しい Looker API キーの生成については、管理者設定 - ユーザーをご覧ください。認証方法と Looker API キーの管理の詳細については、Looker API の認証をご覧ください。
Python を使用した HTTP
API キー(クライアント ID とシークレット)を生成したら、直接 HTTP リクエストを送信して、Looker に接続するように Conversational Analytics API を構成できます。次のサンプルコードは、HTTP リクエストの本文で Looker データソースの詳細と API キーを指定する方法を示しています。
looker_credentials = {
"oauth": {
"secret": {
"client_id": "your_looker_client_id",
"client_secret": "your_looker_client_secret",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "https://your_company.looker.com",
"lookml_model": "your_model",
"explore": "your_explore",
}
}
}
サンプル値を次のように置き換えます。
- your_looker_client_id: 生成された Looker API キーのクライアント ID
- your_looker_client_secret: 生成された Looker API キーのクライアント シークレット
- https://your_company.looker.com: Looker インスタンスの完全な URL
- your_model: 使用する LookML モデルの名前
- your_explore: 指定されたモデル内で使用する Explore の名前
Python SDK
API キー(クライアント ID とシークレット)を生成したら、Python を使用して Conversational Analytics API を構成し、Looker に接続できます。次の Python コードサンプルは、Looker データソースの詳細と API キーを Conversational Analytics API に指定する方法を示しています。
looker_client_id = "YOUR-LOOKER-CLIENT-ID" # @param {type:"string"}
looker_client_secret = "YOUR-LOOKER-CLIENT-SECRET" # @param {type:"string"}
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI" # @param {type:"string"}
lookml_model = "YOUR-LOOKER-MODEL" # @param {type:"string"}
explore = "YOUR-LOOKER-EXPLORE" # @param {type:"string"}
# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore
credentials = geminidataanalytics.Credentials()
credentials.oauth.secret.client_id = looker_client_id
credentials.oauth.secret.client_secret = looker_client_secret
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]
サンプル値を次のように置き換えます。
- YOUR-LOOKER-CLIENT-ID: 生成された Looker API キーのクライアント ID
- YOUR-LOOKER-CLIENT-SECRET: 生成された Looker API キーのクライアント シークレット
- YOUR-LOOKER-INSTANCE-URI: Looker インスタンスの完全な URL
- YOUR-LOOKER-MODEL: 使用する Looker モデルの名前
- YOUR-LOOKER-EXPLORE: 使用する Looker Explore の名前
アクセス トークンによる認証
このセクションでは、アクセス トークンを使用して Looker に接続するように Conversational Analytics API を構成する方法について説明します。
Looker インスタンスとの接続を確立するには、有効な OAuth2 access_token
値が必要です。この値は、login
Looker API エンドポイントへのリクエストが成功すると作成されます。
アクセス トークンの生成について詳しくは、Looker API の認証と、認証トークンを取得するためにクライアント認証情報を提示する方法をご覧ください。
Python を使用した HTTP
次のサンプルコードで示すのは、HTTP リクエストの本文で Looker データソースの詳細とアクセス トークンを指定する方法です。
looker_credentials = {
"oauth": {
"token": {
"access_token": "YOUR-TOKEN",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "https://your_company.looker.com",
"lookml_model": "your_model",
"explore": "your_explore",
}
}
}
サンプル値を次のように置き換えます。
- YOUR-TOKEN: Looker の認証用に生成する
access_token
値。 - https://your_company.looker.com: Looker インスタンスの完全な URL
- your_model: 使用する LookML モデルの名前
- your_explore: 指定されたモデル内で使用する Explore の名前
Python SDK
次の Python コードサンプルで示すのは、Looker データソースの詳細とアクセス トークンを定義し、Python SDK を使用して認証する方法です。
looker_access_token = "YOUR-TOKEN"
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI"
lookml_model = "YOUR-LOOKER-MODEL"
explore = "YOUR-LOOKER-EXPLORE"
# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore
credentials = geminidataanalytics.Credentials()
credentials.oauth.token.access_token = looker_access_token
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]
サンプル値を次のように置き換えます。
- YOUR-TOKEN: Looker の認証に使用する
access_token
値 - YOUR-LOOKER-INSTANCE-URI: Looker インスタンスの完全な URL
- YOUR-LOOKER-MODEL: 使用する Looker モデルの名前
- YOUR-LOOKER-EXPLORE: 使用する Looker Explore の名前
JavaScript を使用した HTTP
次のサンプルコードで示すのは、HTTP リクエストの本文で Looker データソースの詳細とアクセス トークンを指定する方法です。
const requestBody = {
project: GCP_PROJECT,
messages: [
{
user_message: {
text: inputWithPreviousMessages,
},
},
],
context: {
system_instruction: agentConfig.system_instructions,
datasource_references: {
looker: {
explore_references: [
{
looker_instance_uri: YOUR-LOOKER-INSTANCE-URI,
lookml_model: YOUR-LOOKER-MODEL,
explore: YOUR-LOOKER-EXPLORE,
},
],
credentials: {
oauth: {
token: {
access_token: YOUR-TOKEN,
},
},
},
},
},
},
}
サンプル値を次のように置き換えます。
- YOUR-LOOKER-INSTANCE-URI: Looker インスタンスの完全な URL
- YOUR-LOOKER-MODEL: 使用する LookML モデルの名前
- YOUR-LOOKER-EXPLORE: 指定されたモデル内で使用する Explore の名前
- YOUR-TOKEN: Looker の認証用に生成する
access_token
値。
Conversational Analytics API を使用して BigQuery に接続する
Conversational Analytics API を使用して BigQuery に接続するには、BigQuery プロジェクトの認証を行い、次の情報を指定する必要があります。
- BigQuery プロジェクト ID
- BigQuery データセット ID
- BigQuery テーブル ID
Conversational Analytics API を使用すると、一度に最大 10 個の BigQuery テーブルに接続してクエリを実行できます。
このセクションでは、直接 HTTP リクエストまたは SDK を使用して、BigQuery に接続するように Conversational Analytics API を構成する方法について説明します。
Python を使用した HTTP
BigQuery プロジェクトの認証を行った後、直接 HTTP リクエストを送信して、BigQuery のデータにアクセスするように Conversational Analytics API を構成できます。次のサンプルコードで示すのは、HTTP リクエストの本文で BigQuery データソースの詳細を指定する方法です。
bigquery_data_sources = {
"bq": {
"tableReferences": [
{
"projectId": "bigquery-public-data",
"datasetId": "san_francisco",
"tableId": "street_trees"
}
]
}
}
サンプル値を次のように置き換えます。
- bigquery-public-data: BigQuery プロジェクトの ID
- san_francisco: BigQuery データセットの ID
- street_trees: BigQuery テーブルの ID
Python SDK
Colaboratory の auth
SDK を使用して、Colaboratory で認証されたユーザーの認証情報で BigQuery に対する認証を行うことができます。
次の Python コードサンプルで示すのは、Colaboratory 内で BigQuery に対して Google アカウントの認証を行い、BigQuery データソースにアクセスするように Conversational Analytics API を構成する方法です。
from google.colab import auth
auth.authenticate_user()
bq_project_id = "YOUR-PROJECT-ID" # @param {type:"string"}
bq_dataset_id = "YOUR-DATASET-ID" # @param {type:"string"}
bq_table_id = "YOUR-TABLE-ID" # @param {type:"string"}
# BigQuery data source
bigquery_table_reference = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference.project_id = bq_project_id
bigquery_table_reference.dataset_id = bq_dataset_id
bigquery_table_reference.table_id = bq_table_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.bq.table_references = [bigquery_table_reference]
サンプル値を次のように置き換えます。
- YOUR-PROJECT-ID: BigQuery プロジェクトの ID
- YOUR-DATASET-ID: BigQuery データセットの ID
- YOUR-TABLE-ID: BigQuery テーブルの ID
Conversational Analytics API を使用して Looker Studio に接続する
Conversational Analytics API を使用して Looker Studio に接続するには、まず Looker Studio API を有効にする必要があります。このセクションでは、直接 HTTP リクエストまたは SDK を使用して、Looker Studio に接続するように Conversational Analytics API を構成する方法について説明します。
Looker Studio API を有効にする
Looker Studio API を有効にするには、API を有効にするの手順を実施します。
Looker Studio に対する認証
Conversational Analytics API を使用して Looker Studio に接続するには、Looker Studio で認証を行い、Looker Studio のデータソース ID を提供する必要があります。
Python を使用した HTTP
Looker Studio API を有効にすると、Python で HTTP curl リクエストを送信して、Looker Studio の認証を行うことができます。次のサンプルコードで示すのは、HTTP リクエストの本文で Looker データソースの詳細を指定する方法です。
Looker Studio の認証は、直接 HTTP リクエストを送信することで行うことができます。HTTP 呼び出しの例を次のコードブロックに示します。
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "your_studio_datasource_id"
}
]
}
}
your_studio_datasource_id は、使用する Looker Studio データソースの実際のデータソース ID に置き換えます。
Python SDK
Looker Studio API を有効にすると、SDK を使用して Looker Studio の認証を行うことができます。次の Python コードサンプルで示すのは、Looker データソースの詳細を指定して Looker Studio で認証する方法を示しています。
datasource_id = "STUDIO-DATASOURCE-ID"
# Looker Studio
studio_references = geminidataanalytics.StudioDatasourceReference()
studio_references.datasource_id = studio_datasource_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.studio.studio_references = [studio_references]
STUDIO-DATASOURCE-ID は、使用する Looker Studio データソースの実際のデータソース ID に置き換えます。