מפתחים יכולים להשתמש ב-Conversational Analytics API, שאפשר לגשת אליו דרך geminidataanalytics.googleapis.com
, כדי ליצור ממשק צ'אט מבוסס-AI או סוכן נתונים, שמשיבים על שאלות לגבי נתונים מובְנים ב-BigQuery, ב-Looker וב-Looker Studio באמצעות שפה טבעית.
בדף הזה מוסבר איך לבצע אימות ב-Conversational Analytics API ולהגדיר חיבורים לנתונים ב-Looker, ב-BigQuery וב-Looker Studio באמצעות בקשות HTTP ישירות או באמצעות ה-SDK. ב-Conversational Analytics API נעשה שימוש בשיטות אימותGoogle Cloud רגילות.
לפני שמתחילים
כדי לבצע אימות ב-Conversational Analytics API ולהגדיר חיבורים לנתונים, עליכם להשלים את הדרישות המוקדמות ולהפעיל את ממשקי ה-API הנדרשים לפרויקט Google Cloud , כפי שמתואר במאמר הפעלת Conversational Analytics API.
אימות ל-Conversational Analytics API
בקטע הזה מוסבר איך לבצע אימות ל-Conversational Analytics API (דרך geminidataanalytics.googleapis.com
) באמצעות שיטות HTTP ו-Python כדי לקבל את אסימוני ההרשאה הנדרשים.
HTTP curl
פקודת curl
לדוגמה ששולחת בקשה ל-Conversational Analytics API. הפקודה gcloud auth print-identity-token
מספקת אסימון גישה שמשמש להרשאה. בקוד לדוגמה, מחליפים את הערך
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://geminidataanalytics.googleapis.com/
HTTP באמצעות Python
קוד Python לדוגמה שמראה איך לקבל אסימון גישה לאימות HTTP באמצעות Google Cloud CLI ו-Python.
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 הנדרשים מופעלים.
- method: נתיב המשאב של נקודת הקצה היעד. לדוגמה:
- כדי ליצור סוכן נתונים, משתמשים ב-method
POST
ובנתיב המשאב/v1alpha/projects/{billing_project}/locations/global/dataAgents
. - כדי לקבל רשימה של סוכני נתונים קיימים, משתמשים בשיטה
GET
ובנתיב המשאב/v1alpha/projects/{billing_project}/locations/global/dataAgents
.
- כדי ליצור סוכן נתונים, משתמשים ב-method
Python SDK
דוגמת הקוד הבאה ב-Python מראה איך לאמת את חשבון Google כדי לקבל גישה ל-Conversational Analytics API ב-Colaboratory:
from google.colab import auth
auth.authenticate_user()
חיבור ל-Looker באמצעות Conversational Analytics API
כדי להתחבר ל-Looker באמצעות Conversational Analytics API, צריך לספק את הפרטים הבאים:
- כתובת ה-URL של המכונה של Looker
- המודל הספציפי של LookML וLooker Explore שרוצים להשתמש בהם כמקור נתונים
לאחר מכן תוכלו לבחור לבצע אימות באמצעות מפתחות API של Looker (מזהה לקוח וסוד לקוח) או באמצעות אסימון גישה.
אימות באמצעות מפתחות API של Looker
בקטע הזה מוסבר איך ליצור את מפתחות ה-API ולהגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות בקשות HTTP ישירות או באמצעות ה-SDK.
כדי ליצור חיבור למכונה של Looker, צריך מפתחות API תקינים של Looker. המפתחות האלה נוצרים על ידי Looker ומורכבים ממזהה לקוח וסוד לקוח. Looker משתמש במפתחות האלה כדי לאשר בקשות ל-Looker API.
מידע נוסף על יצירת מפתחות API חדשים של Looker זמין במאמר הגדרות אדמין – משתמשים. מידע נוסף על שיטות אימות ועל ניהול מפתחות API של Looker זמין במאמר אימות API של Looker.
HTTP באמצעות Python
אחרי שיוצרים את מפתחות ה-API (מזהה הלקוח והסוד), אפשר להגדיר את Conversational Analytics API כך שיתחבר ל-Looker על ידי שליחת בקשות HTTP ישירות. דוגמת הקוד הבאה ממחישה איך לציין את פרטי מקור הנתונים של Looker ומפתחות ה-API בגוף הבקשה ל-HTTP.
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 שנוצר
- your_looker_client_secret: סוד הלקוח של מפתח Looker API שנוצר
- https://your_company.looker.com: כתובת ה-URL המלאה של המכונה של Looker
- your_model: השם של מודל ה-LookML שבו רוצים להשתמש
- your_explore: השם של ניתוח הנתונים בתוך המודל שצוין שרוצים להשתמש בו
Python SDK
אחרי שיוצרים את מפתחות ה-API (מזהה לקוח וסוד), אפשר להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות Python. דוגמת הקוד הבאה ב-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 שנוצר
- YOUR-LOOKER-CLIENT-SECRET: סוד הלקוח של מפתח Looker API שנוצר
- YOUR-LOOKER-INSTANCE-URI: כתובת ה-URL המלאה של המכונה של Looker
- YOUR-LOOKER-MODEL: השם של מודל Looker שבו רוצים להשתמש
- YOUR-LOOKER-EXPLORE: השם של Looker Explore שבו רוצים להשתמש
אימות באמצעות אסימון גישה
בקטע הזה מוסבר איך להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות אסימון גישה.
כדי ליצור חיבור למכונה של Looker, צריך ערך OAuth2 תקין של access_token
שנוצר על ידי בקשה מוצלחת לנקודת הקצה login
של Looker API.
מידע נוסף על יצירת אסימון גישה זמין במאמר אימות Looker API ובמאמר בנושא הצגת פרטי הכניסה של הלקוח כדי לקבל אסימון הרשאה.
HTTP באמצעות Python
בקוד לדוגמה הבא מוסבר איך לציין את פרטי מקור הנתונים של Looker ואת אסימון הגישה בגוף הבקשה ל-HTTP.
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: הערך של
access_token
שיוצרים כדי לבצע אימות ב-Looker. - https://your_company.looker.com: כתובת ה-URL המלאה של המכונה של Looker
- your_model: השם של מודל ה-LookML שבו רוצים להשתמש
- your_explore: השם של ניתוח הנתונים בתוך המודל שצוין שרוצים להשתמש בו
Python SDK
בדוגמת הקוד הבאה ב-Python מוסבר איך להגדיר את פרטי מקור הנתונים ב-Looker ואת אסימון הגישה כדי לבצע אימות באמצעות ה-SDK של Python.
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: הערך של
access_token
שבו משתמשים כדי לבצע אימות ב-Looker - YOUR-LOOKER-INSTANCE-URI: כתובת ה-URL המלאה של המכונה של Looker
- YOUR-LOOKER-MODEL: השם של מודל Looker שבו רוצים להשתמש
- YOUR-LOOKER-EXPLORE: השם של Looker Explore שבו רוצים להשתמש
HTTP באמצעות JavaScript
בקוד לדוגמה הבא מוסבר איך לציין את פרטי מקור הנתונים של Looker ואת אסימון הגישה בגוף הבקשה ל-HTTP.
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: כתובת ה-URL המלאה של המכונה של Looker
- YOUR-LOOKER-MODEL: השם של מודל ה-LookML שבו רוצים להשתמש
- YOUR-LOOKER-EXPLORE: השם של ניתוח הנתונים בתוך המודל שצוין שרוצים להשתמש בו
- YOUR-TOKEN: הערך של
access_token
שיוצרים כדי לבצע אימות ב-Looker.
חיבור ל-BigQuery באמצעות Conversational Analytics API
כדי להתחבר ל-BigQuery באמצעות Conversational Analytics API, צריך לבצע אימות לפרויקט ב-BigQuery ולספק את הפרטים הבאים:
- מזהה הפרויקט ב-BigQuery
- מזהה מערך הנתונים ב-BigQuery
- מזהה הטבלה ב-BigQuery
בקטע הזה נסביר איך להגדיר את Conversational Analytics API כדי להתחבר ל-BigQuery באמצעות בקשות HTTP ישירות או באמצעות SDK.
HTTP באמצעות Python
אחרי שתבצעו אימות לפרויקט BigQuery, תוכלו להגדיר את Conversational Analytics API כך שיגיש בקשות HTTP ישירות כדי לגשת לנתונים ב-BigQuery. בקוד לדוגמה הבא מוסבר איך לציין את פרטי מקור הנתונים ב-BigQuery ובתוך גוף הבקשה ל-HTTP.
bigquery_data_sources = {
"bq": {
"tableReferences": [
{
"projectId": "bigquery-public-data",
"datasetId": "san_francisco",
"tableId": "street_trees"
}
]
}
}
מחליפים את ערכי הדוגמה באופן הבא:
- bigquery-public-data: המזהה של הפרויקט ב-BigQuery
- san_francisco: המזהה של מערך הנתונים ב-BigQuery
- street_trees: המזהה של הטבלה ב-BigQuery
Python SDK
אפשר להשתמש ב-SDK של auth
מ-Colaboratory כדי לבצע אימות ב-BigQuery באמצעות פרטי הכניסה של המשתמש שמאומת ב-Colaboratory.
קוד Python לדוגמה שמראה איך לאמת את חשבון Google ב-BigQuery ב-Colaboratory ולהגדיר את Conversational Analytics API כדי לגשת למקור נתונים של BigQuery.
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
- YOUR-DATASET-ID: המזהה של מערך הנתונים ב-BigQuery
- YOUR-TABLE-ID: המזהה של הטבלה ב-BigQuery
חיבור ל-Looker Studio באמצעות Conversational Analytics API
כדי להתחבר ל-Looker Studio באמצעות Conversational Analytics API, קודם צריך להפעיל את Looker Studio API. בקטע הזה נסביר איך להגדיר את Conversational Analytics API כדי להתחבר ל-Looker Studio באמצעות בקשות HTTP ישירות או באמצעות SDK.
הפעלת Looker Studio API
כדי להפעיל את Looker Studio API, פועלים לפי ההוראות בקטע הפעלת ה-API.
אימות ב-Looker Studio
כדי להתחבר ל-Looker Studio באמצעות Conversational Analytics API, צריך לבצע אימות ב-Looker Studio ולספק את מזהה מקור הנתונים ב-Looker Studio.
HTTP באמצעות Python
אחרי שמפעילים את Looker Studio API, אפשר לבצע אימות ב-Looker Studio על ידי שליחת בקשות HTTP curl באמצעות Python. דוגמת הקוד הבאה מראה איך לציין את פרטי מקור הנתונים של Looker בגוף הבקשה ל-HTTP.
אפשר לבצע אימות ב-Looker Studio על ידי שליחת בקשות HTTP ישירות. קריאה לדוגמה ל-HTTP מוצגת בבלוק הקוד הבא.
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "your_studio_datasource_id"
}
]
}
}
מחליפים את your_studio_datasource_id במזהה בפועל של מקור הנתונים של Looker Studio שבו רוצים להשתמש.
Python SDK
אחרי שמפעילים את Looker Studio API, אפשר לבצע אימות ב-Looker Studio באמצעות SDK. דוגמת הקוד הבאה ב-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 שבו רוצים להשתמש.