Membuat instance tampilan fitur

Anda dapat membuat tampilan fitur dalam instance toko online yang ada. Saat membuat tampilan fitur, Anda dapat mengaitkan fitur dengan tampilan tersebut melalui cara berikut:

  • Menambahkan fitur dan grup fitur dari Registry Fitur: Mengaitkan dengan grup fitur dan fitur yang ada dari Registry Fitur. Grup fitur menentukan lokasi sumber data BigQuery. Fitur dalam grup fitur mengarah ke kolom fitur tertentu di dalam sumber data tersebut. Anda dapat mengaitkan tampilan fitur dengan beberapa grup fitur.

  • Tambahkan fitur dari sumber BigQuery: Mengaitkan sumber data BigQuery, seperti tabel atau tampilan BigQuery, secara langsung, dan menentukan minimal satu kolom ID entity.

Setelah Anda membuat tampilan fitur, Vertex AI Feature Store akan menyinkronkan nilai fitur terbaru dari sumber data BigQuery. Jika Anda menetapkan parameter kueri run_sync_immediately=true, Vertex AI Feature Store akan menyinkronkan nilai fitur saat Anda membuat tampilan fitur. Jika tidak, Vertex AI Feature Store akan menyinkronkan nilai fitur sesuai dengan jadwal sinkronisasi yang ditentukan untuk tampilan fitur.

Sebelum memulai

Lakukan autentikasi ke Vertex AI, kecuali jika Anda telah melakukannya.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login

Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Menyinkronkan data fitur dalam tampilan fitur

Vertex AI Feature Store dapat memuat ulang atau menyinkronkan nilai fitur dari sumber data BigQuery ke tampilan fitur. Anda dapat menentukan jenis sinkronisasi data untuk tampilan fitur menggunakan parameter FeatureView.sync_config.

Vertex AI Feature Store mendukung jenis sinkronisasi data berikut:

  • Sinkronisasi data terjadwal: Anda dapat menentukan jadwal atau frekuensi untuk sinkronisasi data. Anda dapat memilih sinkronisasi data terjadwal ini untuk tampilan fitur, terlepas dari jenis penayangan online yang ditentukan untuk instance toko online.

    Jika tampilan fitur dikonfigurasi untuk menggunakan sinkronisasi data terjadwal, Anda dapat memilih untuk melewati waktu tunggu hingga operasi sinkronisasi terjadwal berikutnya, dengan memulai sinkronisasi data secara manual. Untuk mengetahui informasi selengkapnya tentang cara memicu sinkronisasi data secara manual, lihat Menyinkronkan data fitur ke penyimpanan online.

    Selama penyaluran online, jika Anda hanya ingin menyalurkan nilai fitur terbaru, termasuk nilai null, Anda harus menggunakan penyiapan berikut:

    1. Daftarkan sumber data fitur Anda dengan membuat grup fitur dengan parameter dense ditetapkan ke true.

    2. Pilih penyaluran online Bigtable saat Anda membuat instance toko online.

    3. Pilih sinkronisasi data terjadwal saat Anda membuat tampilan fitur.

  • Sinkronisasi data berkelanjutan: Data fitur diperbarui setiap kali data fitur di sumber data BigQuery diperbarui. Anda dapat memilih jenis sinkronisasi data ini untuk tampilan fitur hanya jika semua kondisi berikut terpenuhi:

    • Instance toko online dikonfigurasi untuk penyaluran online Bigtable.

    • Tampilan fitur dikaitkan dengan grup fitur dan resource fitur.

    • Sumber data BigQuery berada di salah satu region berikut:

      • eu

      • us

      • us-central1

    Sinkronisasi data berkelanjutan memiliki batasan berikut:

    • Anda tidak dapat memperbarui tampilan fitur jika memilih sinkronisasi data berkelanjutan untuk tampilan tersebut.

    • Hanya kumpulan data fitur baru yang disinkronkan dari sumber data BigQuery. Sinkronisasi data berkelanjutan tidak menyinkronkan data fitur yang Anda update atau hapus di BigQuery.

Mengoptimalkan biaya selama sinkronisasi data terjadwal

Operasi sinkronisasi data mungkin memerlukan biaya terkait penggunaan resource BigQuery. Ikuti panduan ini untuk mengoptimalkan biaya tersebut dan meningkatkan performa selama sinkronisasi data:

  • Jangan mengonfigurasi jadwal sinkronisasi agar berjalan lebih sering daripada frekuensinya saat data diperkirakan akan berubah di sumber BigQuery.

  • Mengoptimalkan ukuran sumber data fitur di BigQuery. Saat membuat tampilan fitur, hanya sertakan data yang Anda perlukan untuk penyaluran online.

  • Hindari menjalankan agregasi yang kompleks di BigQuery. Jalankan kueri SELECT * di tabel atau tampilan untuk memperkirakan volume dan durasi pemrosesan data.

  • Saat menyetel opsi penskalaan untuk toko online, tetapkan max_node_count ke nilai yang cukup tinggi agar mampu menangani beban yang tinggi selama sinkronisasi data.

  • Jadwalkan sinkronisasi untuk berbagai tampilan fitur pada waktu yang berbeda di toko online yang sama.

  • Jika tabel BigQuery Anda berisi beragam data historis, sebaiknya lakukan partisi pada tabel menggunakan stempel waktu dan tentukan rentang waktu untuk mengambil data fitur. Tindakan ini akan meminimalkan pengambilan data fitur yang sudah tidak digunakan selama sinkronisasi.

  • Pemakaian Bigtable akan meningkat selama sinkronisasi data. Untuk tampilan fitur yang dibuat dalam penyimpanan online untuk penyaluran online Bigtable, jadwalkan tugas sinkronisasi di luar jam sibuk untuk mendapatkan performa terbaik.

Mengonfigurasi akun layanan untuk tampilan fitur

Setiap tampilan fitur menggunakan akun layanan untuk mengakses data sumber di BigQuery selama sinkronisasi. Vertex AI Feature Store menetapkan peran Identity and Access Management (IAM) BigQuery Data Viewer ke akun layanan ini.

Secara default, tampilan fitur menggunakan akun layanan yang dikonfigurasi untuk project Anda. Dengan konfigurasi ini, setiap pengguna yang memiliki izin untuk membuat tampilan fitur di project Anda dapat mengakses data fitur di BigQuery.

Atau, Anda dapat mengonfigurasi tampilan fitur untuk menggunakan akun layanannya sendiri. Vertex AI Feature Store kemudian menyiapkan akun layanan khusus untuk tampilan fitur. Dengan konfigurasi ini, Anda dapat membatasi akses ke data fitur di BigQuery atau memberikan akses ke pengguna tambahan. Anda dapat menentukan konfigurasi akun layanan menggunakan parameter FeatureView.service_agent_type.

Mengonfigurasi pengambilan vektor untuk tampilan fitur

Anda dapat mengonfigurasi pengambilan vektor untuk tampilan fitur dalam toko online yang dibuat untuk Penyaluran online yang dioptimalkan menggunakan parameter FeatureView.index_config. Untuk mengetahui informasi tentang cara menyiapkan atau memperbarui sumber data BigQuery guna mendukung penyematan dengan menyertakan kolom embedding, lihat Panduan persiapan sumber data.

Perhatikan bahwa Anda dapat mengonfigurasi pengambilan vektor dan mengelola penyematan hanya jika tampilan fitur dibuat dengan menentukan URI sumber BigQuery, bukan dari grup fitur dan fitur dari Registry Fitur.

Untuk mengetahui informasi selengkapnya tentang cara menelusuri perkiraan terdekat menggunakan embedding di Vertex AI Feature Store, lihat Menelusuri menggunakan embedding.

Membuat tampilan fitur dari grup fitur

Anda dapat membuat tampilan fitur berdasarkan data fitur yang telah didaftarkan menggunakan grup fitur dan fitur. Untuk mengaitkan beberapa sumber data BigQuery dengan tampilan fitur yang sama, Anda dapat menentukan beberapa grup fitur.

Jika Anda membuat tampilan fitur dengan menentukan grup fitur dan fitur:

  • Sumber data Anda harus memiliki kolom feature_timestamp dan dapat berisi data historis.

  • Vertex AI Feature Store hanya menyalurkan nilai fitur terbaru berdasarkan stempel waktu fitur.

  • Anda tidak dapat mengonfigurasi pengelolaan penyematan untuk tampilan fitur.

Membuat tampilan fitur dengan konfigurasi akun layanan default

Gunakan contoh berikut untuk membuat tampilan fitur dengan mengaitkan beberapa grup fitur tanpa menentukan konfigurasi akun layanan.

REST

Untuk membuat resource FeatureView, kirim permintaan POST menggunakan metode featureViews.create.

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • FEATUREVIEW_NAME: Nama instance tampilan fitur baru yang ingin Anda buat.
  • FEATUREGROUP_NAME_A dan FEATUREGROUP_NAME_B: Nama-nama grup fitur tempat Anda ingin menambahkan fitur ke tampilan fitur.
  • FEATURE_ID_A1 dan FEATURE_ID_A2: ID fitur dari grup fitur FEATUREGROUP_NAME_A yang ingin Anda tambahkan ke tampilan fitur.
  • FEATURE_ID_B1 dan FEATURE_ID_B2: ID fitur dari grup fitur FEATUREGROUP_NAME_B yang ingin Anda tambahkan ke tampilan fitur.
  • SYNC_CONFIG: Masukkan salah satu konfigurasi sinkronisasi berikut untuk tampilan fitur:
    • Untuk menggunakan sinkronisasi data terjadwal, berikan jadwal sinkronisasi dalam format berikut:
      "cron": "cron_schedule_expression"
      Ganti `cron_schedule_expression` dengan ekspresi jadwal cron yang mewakili frekuensi untuk menyinkronkan data ke tampilan fitur. Untuk mengetahui informasi selengkapnya, lihat cron.
    • Untuk menggunakan sinkronisasi data berkelanjutan, masukkan hal berikut:
      "continuous": true Anda hanya dapat menggunakan sinkronisasi data berkelanjutan jika instance toko online yang berisi tampilan fitur dikonfigurasi untuk penyaluran online Bigtable.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Isi JSON permintaan:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    SYNC_CONFIG
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Membuat tampilan fitur dengan menentukan konfigurasi akun layanan

Gunakan contoh berikut untuk membuat tampilan fitur dari grup fitur dengan menentukan konfigurasi akun layanan.

REST

Untuk membuat resource FeatureView, kirim permintaan POST menggunakan metode featureViews.create.

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • FEATUREVIEW_NAME: Nama instance tampilan fitur baru yang ingin Anda buat.
  • FEATUREGROUP_NAME_A dan FEATUREGROUP_NAME_B: Nama-nama grup fitur tempat Anda ingin menambahkan fitur ke tampilan fitur.
  • FEATURE_ID_A1 dan FEATURE_ID_A2: ID fitur dari grup fitur FEATUREGROUP_NAME_A yang ingin Anda tambahkan ke tampilan fitur.
  • FEATURE_ID_B1 dan FEATURE_ID_B2: ID fitur dari grup fitur FEATUREGROUP_NAME_B yang ingin Anda tambahkan ke tampilan fitur.
  • SYNC_CONFIG: Masukkan salah satu konfigurasi sinkronisasi berikut untuk tampilan fitur:
    • Untuk menggunakan sinkronisasi data terjadwal, berikan jadwal sinkronisasi dalam format berikut:
      "cron": "cron_schedule_expression"
      Ganti `cron_schedule_expression` dengan ekspresi jadwal cron yang mewakili frekuensi untuk menyinkronkan data ke tampilan fitur. Untuk mengetahui informasi selengkapnya, lihat cron.
    • Untuk menggunakan sinkronisasi data berkelanjutan, masukkan hal berikut:
      "continuous": true Anda hanya dapat menggunakan sinkronisasi data berkelanjutan jika instance toko online yang berisi tampilan fitur dikonfigurasi untuk penyaluran online Bigtable.
  • SERVICE_AGENT_TYPE: Opsional: Konfigurasi akun layanan untuk tampilan fitur. Jenis agen layanan yang didukung mencakup hal berikut:
    • SERVICE_AGENT_TYPE_PROJECT: Menggunakan akun layanan tingkat project untuk tampilan fitur. Ini adalah konfigurasi default-nya.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Menyiapkan dan menggunakan akun layanan khusus untuk tampilan fitur.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Isi JSON permintaan:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    SYNC_CONFIG
  },
  "service_agent_type": "SERVICE_AGENT_TYPE"
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Membuat tampilan fitur dari sumber BigQuery

Jika ingin menayangkan fitur secara online tanpa harus mendaftarkan sumber data BigQuery menggunakan grup fitur dan fitur, Anda dapat membuat tampilan fitur dengan menentukan URI sumber data BigQuery.

Jika Anda membuat tampilan fitur dengan menentukan sumber data:

  • Anda tidak dapat menyertakan kolom feature_timestamp di tabel atau tampilan BigQuery.

  • Anda tidak dapat menyertakan nilai fitur historis dalam sumber data. Setiap baris harus berisi ID entity unik.

Membuat tampilan fitur yang menggunakan akun layanan default dan tidak mendukung penyematan

Gunakan contoh berikut untuk membuat tampilan fitur yang tidak mendukung penyematan, dengan mengaitkan langsung sumber data BigQuery dan tanpa menentukan konfigurasi akun layanan.

Python

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_view_from_bq_source(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=feature_store.utils.FeatureViewBigQuerySource(
            uri=bq_table_uri, entity_id_columns=entity_id_columns
        ),
    )
    return fv

  • project: Project ID Anda.
  • location: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • existing_feature_online_store_id: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • feature_view_id: Nama instance tampilan fitur baru yang ingin Anda buat.
  • bq_table_uri: URI tabel atau tampilan sumber BigQuery.
  • entity_id_columns: Nama kolom yang berisi ID entity. Anda dapat menentukan satu kolom atau beberapa kolom.
    • Untuk menentukan hanya satu kolom ID entity, tentukan nama kolom dalam format berikut:
      "entity_id_column_name".
    • Untuk menentukan beberapa kolom ID entity, tentukan nama kolom dalam format berikut:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Untuk membuat resource FeatureView, kirim permintaan POST menggunakan metode featureViews.create.

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur baru yang ingin Anda buat.
  • PROJECT_NAME: Nama project Anda.
  • DATASET_NAME: Nama set data BigQuery Anda.
  • TABLE_NAME: Nama tabel dari set data BigQuery Anda.
  • ENTITY_ID_COLUMNS: Nama kolom yang berisi ID entity. Anda dapat menentukan satu kolom atau beberapa kolom.
    • Untuk menentukan hanya satu kolom ID entity, tentukan nama kolom dalam format berikut:
      "entity_id_column_name"
    • Untuk menentukan beberapa kolom ID entity, tentukan nama kolom dalam format berikut:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Ekspresi jadwal cron yang mewakili frekuensi sinkronisasi data ke tampilan fitur. Untuk mengetahui informasi selengkapnya, lihat cron.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Isi JSON permintaan:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Membuat tampilan fitur yang menggunakan akun layanan default dan mendukung penyematan

Gunakan contoh berikut untuk membuat tampilan fitur dengan dukungan penyematan dengan langsung mengaitkan sumber data BigQuery dan tanpa menentukan konfigurasi akun layanan.

Python

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_view_from_bq_source_with_embedding_management(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
    embedding_column: str,
    embedding_dimensions: int,
):
    aiplatform.init(project=project, location=location)

    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)

    bigquery_source = feature_store.utils.FeatureViewBigQuerySource(
        uri=bq_table_uri,
        entity_id_columns=entity_id_columns,
    )
    index_config = feature_store.utils.IndexConfig(
        embedding_column=embedding_column,
        dimensions=embedding_dimensions,
        algorithm_config=feature_store.utils.TreeAhConfig(),
    )
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=bigquery_source,
        index_config=index_config,
    )
    return fv

  • project: Project ID Anda.
  • location: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • existing_feature_online_store_id: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • feature_view_id: Nama instance tampilan fitur baru yang ingin Anda buat.
  • bq_table_uri: URI tabel atau tampilan sumber BigQuery.
  • entity_id_columns: Nama kolom yang berisi ID entity. Anda dapat menentukan satu kolom atau beberapa kolom.
    • Untuk menentukan hanya satu kolom ID entity, tentukan nama kolom dalam format berikut:
      "entity_id_column_name".
    • Untuk menentukan beberapa kolom ID entity, tentukan nama kolom dalam format berikut:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • embedding_column: Nama kolom yang berisi data sumber untuk membuat indeks penelusuran vektor. Tindakan ini diperlukan hanya jika Anda ingin mengelola embedding dengan tampilan fitur.
  • embedding_dimensions: Opsional. Ukuran, yang dinyatakan sebagai jumlah dimensi, dari penyematan di kolom penyematan.

REST

Untuk membuat resource FeatureView, kirim permintaan POST menggunakan metode featureViews.create.

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur baru yang ingin Anda buat.
  • PROJECT_NAME: Nama project Anda.
  • DATASET_NAME: Nama set data BigQuery Anda.
  • TABLE_NAME: Nama tabel dari set data BigQuery Anda.
  • ENTITY_ID_COLUMNS: Nama kolom yang berisi ID entity. Anda dapat menentukan satu kolom atau beberapa kolom.
    • Untuk menentukan hanya satu kolom ID entity, tentukan nama kolom dalam format berikut:
      "entity_id_column_name"
    • Untuk menentukan beberapa kolom ID entity, tentukan nama kolom dalam format berikut:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Ekspresi jadwal cron yang mewakili frekuensi sinkronisasi data ke tampilan fitur. Untuk mengetahui informasi selengkapnya, lihat cron.
  • EMBEDDING_COLUMN: Nama kolom yang berisi data sumber untuk membuat indeks penelusuran vektor. Tindakan ini diperlukan hanya jika Anda ingin mengelola embedding dengan tampilan fitur.
  • FILTER_COLUMN_1 dan FILTER_COLUMN_2: Opsional: Nama kolom yang digunakan untuk memfilter hasil penelusuran vektor.
  • CROWDING_COLUMN: Opsional: Nama kolom yang berisi atribut kepadatan.
  • EMBEDDING_DIMENSION: Opsional: Ukuran, yang dinyatakan sebagai jumlah dimensi, dari penyematan di kolom penyematan.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Isi JSON permintaan:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Membuat tampilan fitur dengan pengelolaan penyematan dengan menentukan konfigurasi akun layanan

Gunakan contoh berikut untuk membuat tampilan fitur dengan dukungan penyematan dengan langsung mengaitkan sumber data BigQuery dan menentukan konfigurasi akun layanan.

REST

Untuk membuat resource FeatureView dengan dukungan penyematan, kirim permintaan POST menggunakan metode featureViews.create dan tentukan parameter FeatureView.index_config. Perhatikan bahwa Anda hanya dapat menggunakan pengelolaan penyematan jika toko online dikonfigurasi untuk Penyaluran online yang dioptimalkan.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat Anda ingin membuat tampilan fitur, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama toko online tempat Anda ingin membuat tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur baru yang ingin Anda buat.
  • PROJECT_NAME: Nama project Anda.
  • DATASET_NAME: Nama set data BigQuery Anda.
  • TABLE_NAME: Nama tabel dari set data BigQuery Anda.
  • ENTITY_ID_COLUMNS: Nama kolom yang berisi ID entity. Anda dapat menentukan satu kolom atau beberapa kolom.
    • Untuk menentukan hanya satu kolom ID entity, tentukan nama kolom dalam format berikut:
      "entity_id_column_name"
    • Untuk menentukan beberapa kolom ID entity, tentukan nama kolom dalam format berikut:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Ekspresi jadwal cron yang mewakili frekuensi sinkronisasi data ke tampilan fitur. Untuk mengetahui informasi selengkapnya, lihat cron.
  • SERVICE_AGENT_TYPE: Konfigurasi akun layanan untuk tampilan fitur. Jenis agen layanan yang didukung mencakup hal berikut:
    • SERVICE_AGENT_TYPE_PROJECT: Menggunakan akun layanan tingkat project untuk tampilan fitur. Ini adalah konfigurasi default-nya.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Menyiapkan dan menggunakan akun layanan khusus untuk tampilan fitur.
  • EMBEDDING_COLUMN: Nama kolom yang berisi data sumber untuk membuat indeks penelusuran vektor. Tindakan ini diperlukan hanya jika Anda ingin mengelola embedding dengan tampilan fitur.
  • FILTER_COLUMN_1 dan FILTER_COLUMN_2: Opsional: Nama kolom yang digunakan untuk memfilter hasil penelusuran vektor.
  • CROWDING_COLUMN: Opsional: Nama kolom yang berisi atribut kepadatan.
  • EMBEDDING_DIMENSION: Opsional: Ukuran, yang dinyatakan sebagai jumlah dimensi, dari penyematan di kolom penyematan.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Isi JSON permintaan:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "service_agent_type": "SERVICE_AGENT_TYPE",
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Langkah berikutnya