Jika telah mengonfigurasi toko online Anda untuk mendukung embedding, Anda dapat melakukan penelusuran kesamaan vektor untuk mengambil daftar entity yang serupa atau terkait secara semantik, yang juga disebut sebagai perkiraan terdekat. Anda dapat menelusuri berdasarkan ID entity atau embedding.
Untuk mencari perkiraan terdekat, Anda harus melakukan langkah-langkah berikut terlebih dahulu:
Menyiapkan sumber data BigQuery untuk mendukung embedding dengan menyertakan kolom
embedding
. Atau, sertakan kolom pemfilteran dan kepadatan. Untuk informasi selengkapnya, lihat Panduan persiapan sumber data.Membuat instance penyimpanan online yang mendukung pengelolaan embedding. Untuk mengetahui informasi selengkapnya tentang cara membuat instance penyimpanan online yang mendukung pengelolaan penyematan, lihat Mengonfigurasi pengelolaan penyematan untuk penyimpanan online.
Tentukan kolom
embedding
saat membuat tampilan fitur. Untuk mengetahui informasi selengkapnya tentang cara membuat tampilan fitur yang mendukung embedding, lihat Mengonfigurasi pengambilan vektor untuk tampilan fitur.
Halaman ini menjelaskan cara melakukan tindakan berikut:
Mengambil nama domain endpoint publik untuk toko online
Saat Anda membuat dan mengonfigurasi instance toko online untuk pengelolaan penyematan, Vertex AI Feature Store akan menghasilkan nama domain endpoint publik untuk toko online tersebut. Sebelum dapat mulai mencari tetangga terdekat dari tampilan fitur di toko online, Anda harus mengambil nama domain endpoint publik dari detail toko online.
Gunakan contoh berikut untuk mengambil detail instance toko online.
REST
Untuk mengambil detail resource FeatureOnlineStore
dalam project Anda, kirim permintaan GET
menggunakan metode featureOnlineStores.get
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION_ID: Region tempat toko online berada, seperti
us-central1
. - PROJECT_ID: Project ID Anda.
- FEATUREONLINESTORE_NAME: Nama instance toko online.
Metode HTTP dan URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1", "createTime": "2023-09-06T23:25:04.256314Z", "updateTime": "2023-09-06T23:25:04.256314Z", "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=", "state": "STABLE", "dedicatedServingEndpoint": { "publicEndpointDomainName": "PUBLIC_ENDPOINT_DOMAIN_NAME" }, "optimized": {} }
Anda memerlukan PUBLIC_ENDPOINT_DOMAIN_NAME dari respons untuk mengambil perkiraan tetangga terdekat pada langkah berikut.
Mengambil perkiraan embedding terdekat
Gunakan contoh berikut agar dapat menggunakan embedding untuk melakukan penelusuran entity yang terkait secara semantik dengan menentukan embedding.
REST
Untuk menelusuri embedding terdekat, kirim permintaan POST
menggunakan
metode
featureViews.searchNearestEntities.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PUBLIC_ENDPOINT_DOMAIN_NAME: Nama domain endpoint publik untuk instance toko online yang Anda ambil menggunakan metode
featureOnlineStores.get
. - PROJECT_ID: Project ID Anda.
- LOCATION_ID: Region tempat instance toko online berada, seperti
us-central1
. - FEATUREONLINESTORE_NAME: Nama instance toko online yang berisi tampilan fitur, tempat Anda ingin menelusuri perkiraan kecocokan terdekat.
- FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menelusuri perkiraan kecocokan terdekat.
- EMBEDDING: Embedding yang ingin Anda ambil perkiraan kecocokan terdekatnya. Embedding diwakili oleh array nilai
double
. - BOOLEAN: Opsional: Tentukan apakah Anda ingin menyertakan atau mengecualikan fitur untuk entity dalam respons. Untuk menyertakan fitur serta entity dalam respons, masukkan
true
. Nilai defaultnya adalahfalse
. - NEIGHBOR_COUNT: Jumlah perkiraan terdekat yang ingin Anda ambil.
Metode HTTP dan URL:
POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities
Isi JSON permintaan:
{ "query": { "embedding": { "value": EMBEDDING }, "neighbor_count": NEIGHBOR_COUNT }, "return_full_entity": BOOLEAN }
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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities"
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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "nearestNeighbors": { "neighbors": [ { "entityId": "305281", "distance": -41.115459442138672 }, { "entityId": "80280", "distance": -38.703567504882812 }, { "entityId": "80280", "distance":-38.703567504882812 }, { "entityId": "903779", "distance": -38.214759826660156 }, { "entityId": "1008145", "distance": -36.271354675292969 }, { "entityId": "606431", "distance": -34.791431427001953 } ] } }
Mengambil perkiraan entity terdekat
Gunakan contoh berikut agar dapat menggunakan embedding untuk melakukan penelusuran entity yang terkait secara semantik dengan menentukan ID entity.
REST
Untuk menelusuri ID entity terdekat, kirim permintaan POST
menggunakan
metode
featureViews.searchNearestEntities.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PUBLIC_ENDPOINT_DOMAIN_NAME: Nama domain endpoint publik untuk instance toko online yang Anda ambil menggunakan metode
featureOnlineStores.get
. - PROJECT_ID: Project ID Anda.
- LOCATION_ID: Region tempat instance toko online berada, seperti
us-central1
. - FEATUREONLINESTORE_NAME: Nama instance toko online yang berisi tampilan fitur, tempat Anda ingin menelusuri perkiraan kecocokan terdekat.
- FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menelusuri perkiraan kecocokan terdekat.
- ENTITY_ID: ID entity dari entity yang ingin Anda ambil perkiraan kecocokan terdekatnya.
- BOOLEAN: Opsional: Tentukan apakah Anda ingin menyertakan atau mengecualikan fitur untuk entity dalam respons. Untuk menyertakan fitur serta entity dalam respons, masukkan
true
. Nilai defaultnya adalahfalse
. - NEIGHBOR_COUNT: Jumlah perkiraan terdekat yang ingin Anda ambil.
Metode HTTP dan URL:
POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities
Isi JSON permintaan:
{ "query": { "entity_id": ENTITY_ID, "neighbor_count": NEIGHBOR_COUNT }, "return_full_entity": BOOLEAN }
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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities"
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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:searchNearestEntities" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "nearestNeighbors": { "neighbors": [ { "entityId": "305281", "distance": -41.115459442138672 }, { "entityId": "80280", "distance": -38.703567504882812 }, { "entityId": "80280", "distance":-38.703567504882812 }, { "entityId": "903779", "distance": -38.214759826660156 }, { "entityId": "1008145", "distance": -36.271354675292969 }, { "entityId": "606431", "distance": -34.791431427001953 } ] } }