Xác thực và kết nối với một nguồn dữ liệu bằng API Phân tích trò chuyện

Nhà phát triển có thể sử dụng Conversational Analytics API (API Phân tích trò chuyện) truy cập thông qua geminidataanalytics.googleapis.com để tạo giao diện trò chuyện hoặc tác nhân dữ liệu dựa trên trí tuệ nhân tạo (AI) giúp trả lời các câu hỏi về dữ liệu có cấu trúc trong BigQuery, Looker và Looker Studio bằng ngôn ngữ tự nhiên.

Trang này mô tả cách xác thực với API Phân tích trò chuyện và định cấu hình các kết nối với dữ liệu của bạn trong Looker, BigQueryLooker Studio bằng cách sử dụng các yêu cầu HTTP trực tiếp hoặc SDK. API Phân tích trò chuyện sử dụng các phương thức xác thựcGoogle Cloud chuẩn.

Trước khi bạn bắt đầu

Trước khi có thể xác thực với API Phân tích trò chuyện và định cấu hình các kết nối với dữ liệu của mình, bạn phải hoàn tất các điều kiện tiên quyết và bật các API bắt buộc cho dự án Google Cloud , như mô tả trong phần Bật API Phân tích trò chuyện.

Xác thực với API Phân tích cuộc trò chuyện

Phần này mô tả cách xác thực với API Phân tích trò chuyện (thông qua geminidataanalytics.googleapis.com) bằng cách sử dụng các phương thức HTTP và Python để lấy mã thông báo uỷ quyền cần thiết.

HTTP curl

Lệnh curl mẫu sau đây sẽ gửi một yêu cầu đến API Phân tích trò chuyện. Lệnh gcloud auth print-identity-token cung cấp mã thông báo truy cập dùng để uỷ quyền. Trong mã mẫu, hãy thay thế bằng đường dẫn tài nguyên API thích hợp.

curl  -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://geminidataanalytics.googleapis.com/

HTTP bằng Python

Mã Python mẫu sau đây minh hoạ cách lấy mã truy cập để xác thực HTTP bằng cách sử dụng Google Cloud CLI và 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]}'}

Thay thế các giá trị mẫu như sau:

  • YOUR_BILLING_PROJECT: Mã của dự án thanh toán đã bật các API bắt buộc.
  • method: Đường dẫn tài nguyên cho điểm cuối mục tiêu. Ví dụ:
    • Để tạo tác nhân dữ liệu, hãy sử dụng phương thức POST và đường dẫn tài nguyên /v1alpha/projects/{billing_project}/locations/global/dataAgents.
    • Để liệt kê các tác nhân dữ liệu hiện có, hãy sử dụng phương thức GET và đường dẫn tài nguyên /v1alpha/projects/{billing_project}/locations/global/dataAgents.

SDK Python

Mã Python mẫu sau đây minh hoạ cách xác thực Tài khoản Google của bạn để truy cập vào API Phân tích trò chuyện trong Colaboratory:

from google.colab import auth
auth.authenticate_user()

Kết nối với Looker bằng API Phân tích cuộc trò chuyện

Để kết nối với Looker bằng API Phân tích trò chuyện, bạn phải cung cấp những thông tin sau:

Sau đó, bạn có thể chọn xác thực bằng khoá API Looker (mã ứng dụng khách và khoá bí mật của ứng dụng khách) hoặc mã thông báo truy cập.

Xác thực bằng khoá API Looker

Phần này mô tả cách tạo khoá API và định cấu hình API Phân tích trò chuyện để kết nối với Looker bằng cách sử dụng các yêu cầu HTTP trực tiếp hoặc SDK.

Để thiết lập kết nối với một phiên bản Looker, bạn cần có khoá API Looker hợp lệ do Looker tạo và bao gồm mã ứng dụng khách và khoá bí mật ứng dụng khách. Looker sử dụng các khoá này để uỷ quyền cho các yêu cầu gửi đến API Looker.

Để tìm hiểu thêm về cách tạo khoá API Looker mới, hãy xem phần Cài đặt quản trị – Người dùng. Để tìm hiểu thêm về các phương thức xác thực và quản lý khoá API Looker, hãy xem phần Xác thực API Looker.

HTTP bằng Python

Sau khi tạo khoá API (mã ứng dụng và khoá bí mật), bạn có thể định cấu hình API Phân tích trò chuyện để kết nối với Looker bằng cách tạo các yêu cầu HTTP trực tiếp. Mã mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker và khoá API trong phần nội dung của yêu cầu 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",
    }
  }
}

Thay thế các giá trị mẫu như sau:

  • your_looker_client_id: Mã ứng dụng của khoá API Looker mà bạn đã tạo
  • your_looker_client_secret: Mã xác thực ứng dụng của khoá API Looker mà bạn đã tạo
  • https://your_company.looker.com: URL đầy đủ của phiên bản Looker
  • your_model: Tên của mô hình LookML mà bạn muốn sử dụng
  • your_explore: Tên của tính năng Khám phá trong mô hình đã chỉ định mà bạn muốn sử dụng

SDK Python

Sau khi tạo khoá API (mã ứng dụng và khoá bí mật), bạn có thể định cấu hình API Phân tích trò chuyện để kết nối với Looker bằng Python. Mã Python mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker và khoá API cho API Phân tích trò chuyện.

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]

Thay thế các giá trị mẫu như sau:

  • YOUR-LOOKER-CLIENT-ID: Mã ứng dụng của khoá API Looker mà bạn đã tạo
  • YOUR-LOOKER-CLIENT-SECRET: Mã xác thực ứng dụng của khoá API Looker mà bạn đã tạo
  • YOUR-LOOKER-INSTANCE-URI: URL đầy đủ của thực thể Looker
  • YOUR-LOOKER-MODEL: Tên của mô hình Looker mà bạn muốn sử dụng
  • YOUR-LOOKER-EXPLORE: Tên của dữ liệu khám phá Looker mà bạn muốn sử dụng

Xác thực bằng mã truy cập

Phần này mô tả cách định cấu hình API Phân tích trò chuyện để kết nối với Looker bằng mã thông báo truy cập.

Để thiết lập kết nối với một thực thể Looker, bạn cần có giá trị access_token OAuth2 hợp lệ. Giá trị này được tạo bằng một yêu cầu thành công đến điểm cuối API Looker login.

Để tìm hiểu thêm về cách tạo mã truy cập, hãy xem phần Xác thực API Looker và cách giới thiệu thông tin xác thực ứng dụng để lấy mã uỷ quyền.

HTTP bằng Python

Mã mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker và mã truy cập trong phần nội dung của yêu cầu 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",
      }
    }
  }

Thay thế các giá trị mẫu như sau:

  • YOUR-TOKEN: Giá trị access_token mà bạn tạo để xác thực với Looker.
  • https://your_company.looker.com: URL đầy đủ của thực thể Looker
  • your_model: Tên của mô hình LookML mà bạn muốn sử dụng
  • your_explore: Tên của tính năng Khám phá trong mô hình đã chỉ định mà bạn muốn sử dụng

SDK Python

Mã Python mẫu sau đây minh hoạ cách xác định thông tin nguồn dữ liệu Looker và mã truy cập để xác thực bằng 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]

Thay thế các giá trị mẫu như sau:

  • YOUR-TOKEN: Giá trị access_token mà bạn sử dụng để xác thực với Looker
  • YOUR-LOOKER-INSTANCE-URI: URL đầy đủ của thực thể Looker
  • YOUR-LOOKER-MODEL: Tên của mô hình Looker mà bạn muốn sử dụng
  • YOUR-LOOKER-EXPLORE: Tên của dữ liệu khám phá Looker mà bạn muốn sử dụng

HTTP bằng JavaScript

Mã mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker và mã truy cập trong phần nội dung của yêu cầu 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,
                                    },
                                },
                            },
                        },
                    },
                },
            }

Thay thế các giá trị mẫu như sau:

  • YOUR-LOOKER-INSTANCE-URI: URL đầy đủ của thực thể Looker
  • YOUR-LOOKER-MODEL: Tên của mô hình LookML mà bạn muốn sử dụng
  • YOUR-LOOKER-EXPLORE: Tên của tính năng Khám phá trong mô hình đã chỉ định mà bạn muốn sử dụng
  • YOUR-TOKEN: Giá trị access_token mà bạn tạo để xác thực với Looker.

Kết nối với BigQuery bằng API Phân tích trò chuyện

Để kết nối với BigQuery bằng API Phân tích trò chuyện, bạn phải xác thực vào dự án BigQuery và cung cấp những thông tin sau:

  • Mã dự án BigQuery
  • Mã nhận dạng tập dữ liệu BigQuery
  • Mã bảng BigQuery

Phần này mô tả cách định cấu hình API Phân tích trò chuyện để kết nối với BigQuery bằng cách sử dụng các yêu cầu HTTP trực tiếp hoặc SDK.

HTTP bằng Python

Sau khi xác thực vào dự án BigQuery, bạn có thể định cấu hình API Phân tích trò chuyện để truy cập dữ liệu trong BigQuery bằng cách tạo các yêu cầu HTTP trực tiếp. Mã mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu BigQuery và trong phần nội dung của yêu cầu HTTP.

bigquery_data_sources = {
    "bq": {
      "tableReferences": [
        {
          "projectId": "bigquery-public-data",
          "datasetId": "san_francisco",
          "tableId": "street_trees"
        }
      ]
    }
}

Thay thế các giá trị mẫu như sau:

  • bigquery-public-data: Mã nhận dạng của dự án BigQuery
  • san_francisco: Mã nhận dạng của tập dữ liệu BigQuery
  • street_trees: Mã nhận dạng của bảng BigQuery

SDK Python

Bạn có thể sử dụng SDK auth từ Colaboratory để xác thực với BigQuery bằng cách sử dụng thông tin xác thực của người dùng đã được xác thực với Colaboratory.

Mã Python mẫu sau đây minh hoạ cách xác thực Tài khoản Google của bạn với BigQuery trong Colaboratory và định cấu hình API Phân tích trò chuyện để truy cập vào nguồn dữ liệu 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]

Thay thế các giá trị mẫu như sau:

  • YOUR-PROJECT-ID: Mã nhận dạng của dự án BigQuery
  • YOUR-DATASET-ID: Mã nhận dạng của tập dữ liệu BigQuery
  • YOUR-TABLE-ID: Mã nhận dạng của bảng BigQuery

Kết nối với Looker Studio bằng API Phân tích trò chuyện

Để kết nối với Looker Studio bằng API Phân tích cuộc trò chuyện, trước tiên, bạn phải bật API Looker Studio. Phần này mô tả cách định cấu hình API Phân tích trò chuyện để kết nối với Looker Studio bằng cách sử dụng các yêu cầu HTTP trực tiếp hoặc SDK.

Bật Looker Studio API

Để bật API Looker Studio, hãy làm theo hướng dẫn trong phần Bật API.

Xác thực với Looker Studio

Để kết nối với Looker Studio bằng Conversational Analytics API, bạn phải xác thực với Looker Studio và cung cấp mã nguồn dữ liệu Looker Studio.

HTTP bằng Python

Sau khi bật API Looker Studio, bạn có thể xác thực với Looker Studio bằng cách tạo các yêu cầu curl HTTP bằng Python. Mã mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker trong phần nội dung của yêu cầu HTTP.

Bạn có thể xác thực với Looker Studio bằng cách đưa ra các yêu cầu HTTP trực tiếp. Lệnh gọi HTTP mẫu được hiển thị trong khối mã sau.

looker_studio_data_source = {
    "studio":{
        "studio_references":
        [
            {
              "datasource_id": "your_studio_datasource_id"
            }
        ]
    }
}

Thay thế your_studio_datasource_id bằng mã nguồn dữ liệu thực tế của nguồn dữ liệu Looker Studio mà bạn muốn sử dụng.

SDK Python

Sau khi bật API Looker Studio, bạn có thể xác thực với Looker Studio bằng cách sử dụng SDK. Mã Python mẫu sau đây minh hoạ cách chỉ định thông tin chi tiết về nguồn dữ liệu Looker và xác thực với 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]

Thay thế STUDIO-DATASOURCE-ID bằng mã nguồn dữ liệu thực tế của nguồn dữ liệu Looker Studio mà bạn muốn sử dụng.