Di Pengambilan Agen (sebelumnya Vector Search 2.0), Kumpulan Data menyimpan data sebagai objek JSON individual yang disebut Objek Data. Halaman ini menjelaskan aturan validasi yang harus dipenuhi Objek Data, dan cara membuat, membaca, memperbarui, mengimpor, mengekspor, dan menghapus Objek Data satu per satu atau dalam batch.
Validasi data
Pengambilan Agen (sebelumnya Vector Search 2.0) memvalidasi setiap Objek Data sebelum menyimpannya. Validasi terjadi dalam dua konteks yang menerapkan aturan inti yang sama, tetapi berbeda dalam cara kegagalan dilaporkan:
| Konteks | Berlaku untuk | Perilaku saat terjadi kegagalan |
|---|---|---|
| Validasi Objek Data | Operasi tulis individu dan batch: create, batchCreate, update, dan batchUpdate |
Permintaan akan langsung gagal dengan INVALID_ARGUMENT. Operasi tulis batch bersifat atomik: jika ada kumpulan data yang tidak valid, tidak ada kumpulan data dalam permintaan yang ditulis. |
| Validasi impor | import dari Cloud Storage |
Setiap data divalidasi secara terpisah. Kumpulan data yang tidak valid ditulis ke sink error dengan code = INVALID_ARGUMENT dan dilewati, dan impor lainnya akan dilanjutkan. Setelah suatu catatan gagal dalam pemeriksaan, pemeriksaan berikutnya tidak dijalankan untuk catatan tersebut. |
Kedua konteks menerapkan aturan inti yang sama: aturan ID,
aturan kolom data (saat Kumpulan Data mendeklarasikan
dataSchema), dan aturan penyematan. Impor tambahan
mengurai setiap data dan
mengekstraksi kolom yang dapat ditelusuri, karena inputnya
adalah file mentah, bukan permintaan API terstruktur.
Untuk menghindari loop "perbaiki satu error, muat ulang, temukan error berikutnya", validasi set data Anda terhadap semua aturan berikut sebelum Anda memulai impor atau pembuatan indeks.
Penguraian (khusus impor)
Penguraian hanya berlaku untuk impor, yang mengubah setiap baris atau
rekaman input mentah menjadi Objek Data internal. Penulisan API perorangan dan batch melewati langkah ini karena inputnya sudah terstruktur. Penguraian menangani kedua bentuk JSON yang didukung: format default (dengan objek vectors/data tingkat teratas) dan format v1 (dengan embedding, sparse_embedding, restricts, atau numeric_restricts). Format terdeteksi otomatis per data.
- JSON harus dapat diuraikan. Setiap baris harus diuraikan sebagai objek JSON. Baris
yang kunci tingkat atasnya tidak cocok dengan format default maupun v1 akan ditolak
dengan
Unknown JSON format for string: <line>. idwajib diisi. Setiap data harus berisiidyang tidak boleh null. Jika tidak:'id' field is missing or null.- Penyematan harus ada (hanya format v1). Rekaman format v1 harus berisi setidaknya salah satu dari
embeddingatausparse_embedding. Jika tidak:'embedding' or 'sparse_embedding' fields are missing. - Pemeriksaan jenis sematan padat. Kolom sematan padat (
embeddingdi v1, atau nilai array apa pun divectorsdalam format default) harus berupa array JSON angka. Nilai yang tidak dapat dikonversi menjadifloatakan ditolak dengan'<field>' field contains non-float values. - Pemeriksaan struktur embedding renggang. Untuk setiap vektor renggang:
- Harus berupa objek JSON.
- Harus berisi kedua array:
values(float) danindices(long); di v1, array ini adalahvaluesdandimensions. valuestidak boleh kosong.- Indeks tidak boleh negatif.
values.lengthharus sama denganindices.length(ataudimensions.lengthv1).
- Jenis kolom
data. Jika ada,dataharus berupa objek JSON, bukan array, string, atau skalar. Atau:'data' field is not a JSON object. numeric_restrictsbentuk (format v1).numeric_restrictsharus berupa array objek JSON. Setiap entri harus memiliki stringnamespacedan harus menetapkan tepat satu darivalue_int,value_float, atauvalue_double.
Sebagian besar masalah "kegagalan pertama" berasal dari tahap ini. Kesalahan umum mencakup angka
yang di-stringifikasi dalam array sematan, id yang tidak ada, atau values/indices dengan
panjang yang berbeda.
Aturan ID
ID Objek Data harus berisi antara 1 dan 63 karakter. Panjang adalah satu-satunya batasan yang diterapkan Agent Retrieval pada ID; semua karakter diterima.
Tabel berikut menunjukkan contoh umum:
| ID | Valid? | Mengapa |
|---|---|---|
movie-789 |
Ya | Antara 1 dan 63 karakter |
a |
Ya | Satu karakter adalah minimum |
Doc_123 |
Ya | Huruf besar dan garis bawah diperbolehkan |
my doc |
Ya | Karakter apa pun diterima, dalam batas panjang |
| (string kosong) | Tidak | Diperlukan minimal satu karakter |
| 64 karakter atau lebih | Tidak | Panjang maksimum adalah 63 |
Aturan kolom data (Skema JSON)
Validasi kolom data hanya berjalan jika Koleksi mendeklarasikan dataSchema di
CollectionConfig-nya. Jika tidak ada skema yang dikonfigurasi, pemeriksaan ini akan dilewati.
- Kepatuhan terhadap skema. Payload
dataObjek Data diserialisasi ke JSON dan divalidasi terhadap Skema JSON yang dikonfigurasi (Draf 7). Validator melaporkan satu error per pelanggaran skema, sehingga satu rekaman dengan tiga kolom yang salah akan menghasilkan tiga pesan error.- Pesan:
DataObject with id <id> failed schema validation: <error>.
- Pesan:
- Error pemrosesan skema. Jika validator skema itu sendiri menampilkan error (misalnya, fitur draf yang tidak didukung), rekaman akan ditolak dengan
DataObject with id <id> failed schema validation processing: <exception>.
Aturan penyematan
Validasi penyematan melakukan iterasi terlebih dahulu pada vektor padat, lalu vektor jarang. Satu set nama vektor yang terlihat bersama mencakup kedua daftar, sehingga nama tidak dapat digunakan dua kali -- bahkan di seluruh batas padat dan jarang.
Aturan bersama (berlaku untuk padat dan jarang)
| Aturan | Mengapa hal ini penting | Pesan error |
|---|---|---|
| Tidak ada nama vektor duplikat di seluruh vektor padat dan jarang untuk Objek Data yang sama | Dua entri dengan nama vektor yang sama akan menargetkan kunci penyimpanan yang sama, sehingga menghasilkan perilaku last-write-wins yang tidak ditentukan | ... has duplicate embedding field '<name>' across its dense/sparse vectors; each vector name must appear at most once |
Nama vektor harus dideklarasikan dalam skema vektor CollectionConfig |
Nama vektor yang tidak diketahui tidak dapat diarahkan ke kolom | ... has dense/sparse embedding field '<name>' but this field is not defined in CollectionConfig vector schema |
Aturan khusus vektor padat
| Aturan | Pesan error |
|---|---|
| Kolom harus dikonfigurasi sebagai padat dalam skema Kumpulan. | ... has dense embedding field '<name>' but CollectionConfig defines it as non-dense |
| Dimensi harus cocok dengan dimensi yang dikonfigurasi. | ... field '<name>': expected dense embedding dimension <expected>, but got <actual> |
Semua nilai harus berhingga -- tidak ada NaN, +Infinity, atau -Infinity. Nilai non-finite akan merusak komputasi jarak. |
... field '<name>': dense embedding contains non-finite value <v> at index <i> (NaN/Infinity values are not allowed) |
Aturan khusus vektor jarang
| Aturan | Pesan error |
|---|---|
| Kolom harus dikonfigurasi sebagai sparse dalam skema Kumpulan. | ... has sparse embedding field '<name>' but CollectionConfig defines it as non-sparse |
Paritas panjang indeks/nilai: indicesCount == valuesCount. |
... field '<name>': sparse embedding has <n> indices but <m> values; indices and values must have the same length |
| Indeks non-negatif: setiap indeks >= 0. | ... field '<name>': sparse embedding contains negative index <i> at position <p> (indices must be non-negative) |
| Indeks unik dalam vektor renggang yang sama. | ... field '<name>': sparse embedding contains duplicate index <i> (each index must appear at most once) |
| Semua nilai harus terbatas. | ... field '<name>': sparse embedding contains non-finite value <v> at position <p> (NaN/Infinity values are not allowed) |
Ekstraksi kolom yang dapat ditelusuri (khusus impor)
Selama impor, setelah validasi penyematan berhasil, pipeline
menelusuri payload data menggunakan dataSchema Koleksi dan menyalin kolom
yang dideklarasikan skema (string, bilangan bulat/angka, boolean, array string, dan
objek bertingkat) ke dalam indeks kolom yang dapat ditelusuri. Dua mode kegagalan di sini juga akan menolak rekaman:
- Jalur yang seharusnya berupa struktur berisi skalar (misalnya, skema
mengatakan bahwa
author.nameadalah string, tetapiauthoritu sendiri adalah string dalam dokumen). - Kolom array string berisi elemen non-string.
Error ini biasanya menunjukkan bahwa bentuk dokumen telah menyimpang dari skema yang dideklarasikan dan tidak selalu terdeteksi pada tahap Skema JSON.
Checklist pra-penerbangan
Sebelum memulai penyerapan atau pembuatan indeks, validasi seluruh set data terhadap aturan berikut. Ini adalah kumpulan pemeriksaan yang sama yang diterapkan pipeline, diurutkan sehingga satu lintasan sisi klien memunculkan setiap masalah:
- Format -- setiap baris diuraikan sebagai JSON dan cocok dengan bentuk default atau v1.
- ID -- panjangnya antara 1 dan 63 karakter serta unik di seluruh set data.
- Embedding ada -- minimal satu vektor per rekaman; nama vektor tercantum dalam skema vektor
CollectionConfigdengan jenis padat atau jarang yang benar. - Vektor padat -- dimensi yang benar; tidak ada nilai
NaN,+Inf, atau-Inf. - Vektor sparse --
values.length == indices.length; semua indeks lebih besar atau sama dengan 0 dan unik. Nilai non-hingga tidak diizinkan. - Tidak ada nama vektor duplikat dalam satu rekaman di seluruh data padat dan jarang.
- Skema data -- jika
dataSchemadikonfigurasi, payloaddataAnda divalidasi terhadapnya (Draf 7), dan setiap jenis JSON aktual kolom cocok dengan jenis yang dinyatakan (terutama untuk objek bertingkat dan array string). - v1
numeric_restricts-- setiap entri memiliki stringnamespacedan tepat satu darivalue_int/value_float/value_double.
Membuat Objek Data
Contoh berikut menunjukkan penambahan satu Objek Data ke Koleksi
dengan ID COLLECTION_ID.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects?dataObjectId=DATA_OBJECT_ID
Meminta isi JSON:
{
"data": {
"director": "Frank Darabont",
"genre": "Drama",
"title": "The Shawshank Redemption",
"year": 1994
},
"vectors":{
"genre_embedding": {
"dense": {
"values": [ 0.38638010860523064, 0.739343471733759, 0.16189056837017107, 0.5271366865924485 ]
}
},
"plot_embedding": {
"dense": {
"values": [ 0.4752082440607731, 0.09026746166854707, 0.8752307753619009 ]
}
},
"soundtrack_embedding": {
"dense": {
"values": [ 0.5920451749052875, 0.08301644173787519, 0.1264733498775969, 0.6196429624200321, 0.4925828581737443 ]
}
},
"sparse_embedding": {
"sparse": {
"indices": [ 4065, 13326, 17377, 25918, 28105, 32683, 42998 ],
"values": [ 1, 6, 3, 2, 8, 5, 2 ]
}
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
"data": {
"director": "Frank Darabont",
"title": "The Shawshank Redemption",
"year": 1994,
"genre": "Drama"
},
"vectors": {
"genre_embedding": {
"dense": {
"values": [
0.3863801,
0.73934346,
0.16189057,
0.5271367
]
}
},
"plot_embedding": {
"dense": {
"values": [
0.47520825,
0.090267465,
0.8752308
]
}
},
"soundtrack_embedding": {
"dense": {
"values": [
0.5920452,
0.08301644,
0.12647335,
0.619643,
0.49258286
]
}
},
"sparse_embedding": {
"sparse": {
"values": [
1,
6,
3,
2,
8,
5,
2
],
"indices": [
4065,
13326,
17377,
25918,
28105,
32683,
42998
]
}
}
}
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
-
DATA_FILE: Jalur lokal ke file JSON yang berisi bagian data dari objek data.
Contoh konten file:
{ "director": "Frank Darabont", "genre": "Drama", "title": "The Shawshank Redemption", "year": 1994 }
-
VECTORS_FILE: Jalur lokal ke file JSON yang berisi bagian vektor objek data.
Contoh konten file:
{ "genre_embedding": { "dense": { "values": [ 0.38638010860523064, 0.739343471733759, 0.16189056837017107, 0.5271366865924485 ] } }, "plot_embedding": { "dense": { "values": [ 0.4752082440607731, 0.09026746166854707, 0.8752307753619009 ] } }, "soundtrack_embedding": { "dense": { "values": [ 0.5920451749052875, 0.08301644173787519, 0.1264733498775969, 0.6196429624200321, 0.4925828581737443 ] } }, "sparse_embedding": { "sparse": { "indices": [ 4065, 13326, 17377, 25918, 28105, 32683, 42998 ], "values": [ 1, 6, 3, 2, 8, 5, 2 ] } } }
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects create DATA_OBJECT_ID \ --data=DATA_FILE \ --vectors=VECTORS_FILE \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud vector-search collections data-objects create DATA_OBJECT_ID ` --data=DATA_FILE ` --vectors=VECTORS_FILE ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud vector-search collections data-objects create DATA_OBJECT_ID ^ --data=DATA_FILE ^ --vectors=VECTORS_FILE ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID
Anda akan melihat respons seperti berikut:
Created dataObject [DATA_OBJECT_ID].
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
# Initialize request
data_object = vectorsearch_v1.DataObject(
data={
"title": "The Shawshank Redemption",
"genre": "Drama",
"year": 1994,
"director": "Frank Darabont",
},
vectors={
"plot_embedding": {
"dense": {"values": [0.1, 0.2, 0.3]}
},
"genre_embedding": {
"dense": {"values": [0.4, 0.5, 0.6, 0.7]}
},
"soundtrack_embedding": {
"dense": {"values": [0.8, 0.9, 1.0, 1.1, 1.2]}
},
"sparse_embedding": {
"sparse": {"values": [1.0, 2.0], "indices": [10, 20]}
},
},
)
request = vectorsearch_v1.CreateDataObjectRequest(
parent="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
data_object_id="DATA_OBJECT_ID",
data_object=data_object,
)
# Make the request
response = data_object_service_client.create_data_object(request=request)
# Handle the response
print(response)
Kolom yang memiliki penyematan otomatis yang ditentukan dalam Skema Kumpulan Data akan otomatis diisi. Anda juga dapat menggunakan embedding Anda sendiri (BYOE) untuk menetapkan nilai kolom vektor yang tidak diisi secara otomatis.
Membuat Objek Data secara Batch
Untuk penyerapan massal yang efisien dalam jumlah kecil (hingga 1.000 Objek Data per permintaan), gunakan batchCreate. Seluruh batch bersifat atomik: baik semua Objek Data dibuat, atau seluruh permintaan gagal. Untuk set data yang lebih besar, sebaiknya impor Objek Data dari Cloud Storage.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects:batchCreate
Meminta isi JSON:
{
"requests": [
{
"parent": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
"dataObjectId": "movie-1",
"dataObject": {
"data": {
"title": "The Shawshank Redemption",
"year": 1994
},
"vectors": {
"plot_embedding": {
"dense": { "values": [0.47, 0.09, 0.87] }
}
}
}
},
{
"parent": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
"dataObjectId": "movie-2",
"dataObject": {
"data": {
"title": "The Godfather",
"year": 1972
},
"vectors": {
"plot_embedding": {
"dense": { "values": [0.12, 0.55, 0.31] }
}
}
}
}
]
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"dataObjects": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1",
"data": {
"title": "The Shawshank Redemption",
"year": 1994
},
"vectors": {
"plot_embedding": {
"dense": { "values": [0.47, 0.09, 0.87] }
}
}
},
{
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2",
"data": {
"title": "The Godfather",
"year": 1972
},
"vectors": {
"plot_embedding": {
"dense": { "values": [0.12, 0.55, 0.31] }
}
}
}
]
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects batch-create \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --requests='[ { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-1", "dataObject":{"data":{"title":"The Shawshank Redemption","year":1994},"vectors":{"plot_embedding":{"dense":{"values":[0.47,0.09,0.87]}}}} }, { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-2", "dataObject":{"data":{"title":"The Godfather","year":1972},"vectors":{"plot_embedding":{"dense":{"values":[0.12,0.55,0.31]}}}} } ]'
Windows (PowerShell)
gcloud vector-search collections data-objects batch-create ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --requests='[ { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-1", "dataObject":{"data":{"title":"The Shawshank Redemption","year":1994},"vectors":{"plot_embedding":{"dense":{"values":[0.47,0.09,0.87]}}}} }, { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-2", "dataObject":{"data":{"title":"The Godfather","year":1972},"vectors":{"plot_embedding":{"dense":{"values":[0.12,0.55,0.31]}}}} } ]'
Windows (cmd.exe)
gcloud vector-search collections data-objects batch-create ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --requests='[ { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-1", "dataObject":{"data":{"title":"The Shawshank Redemption","year":1994},"vectors":{"plot_embedding":{"dense":{"values":[0.47,0.09,0.87]}}}} }, { "parent":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID", "dataObjectId":"movie-2", "dataObject":{"data":{"title":"The Godfather","year":1972},"vectors":{"plot_embedding":{"dense":{"values":[0.12,0.55,0.31]}}}} } ]'
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
parent = "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID"
# Build per-DataObject create requests.
requests = [
vectorsearch_v1.CreateDataObjectRequest(
parent=parent,
data_object_id="movie-1",
data_object=vectorsearch_v1.DataObject(
data={"title": "The Shawshank Redemption", "year": 1994},
vectors={
"plot_embedding": {"dense": {"values": [0.47, 0.09, 0.87]}},
},
),
),
vectorsearch_v1.CreateDataObjectRequest(
parent=parent,
data_object_id="movie-2",
data_object=vectorsearch_v1.DataObject(
data={"title": "The Godfather", "year": 1972},
vectors={
"plot_embedding": {"dense": {"values": [0.12, 0.55, 0.31]}},
},
),
),
]
request = vectorsearch_v1.BatchCreateDataObjectsRequest(
parent=parent,
requests=requests,
)
# Make the request
response = data_object_service_client.batch_create_data_objects(request=request)
# Handle the response
for data_object in response.data_objects:
print(data_object.name)
Mendapatkan Objek Data
Contoh berikut menunjukkan cara mendapatkan Objek Data dengan ID
DATA_OBJECT_ID dari Kumpulan dengan ID COLLECTION_ID.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
GET https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
"createTime": "2026-01-31T20:05:06Z",
"updateTime": "2026-01-31T20:05:06Z",
"data": {
"title": "The Shawshank Redemption",
"director": "Frank Darabont",
"year": 1994,
"genre": "Drama"
},
"vectors": {
"sparse_embedding": {
"sparse": {
"values": [
1,
6,
3,
2,
8,
5,
2
],
"indices": [
4065,
13326,
17377,
25918,
28105,
32683,
42998
]
}
},
"genre_embedding": {
"dense": {
"values": [
0.3863801,
0.73934346,
0.16189057,
0.5271367
]
}
},
"plot_embedding": {
"dense": {
"values": [
0.47520825,
0.090267465,
0.8752308
]
}
},
"soundtrack_embedding": {
"dense": {
"values": [
0.5920452,
0.08301644,
0.12647335,
0.619643,
0.49258286
]
}
}
}
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects describe DATA_OBJECT_ID \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud vector-search collections data-objects describe DATA_OBJECT_ID ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud vector-search collections data-objects describe DATA_OBJECT_ID ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID
Anda akan melihat respons seperti berikut:
name: projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID
data:
director: Frank Darabont
genre: Drama
title: The Shawshank Redemption
year: 1994
vectors:
genre_embedding:
dense:
values:
- 0.3863801
- 0.73934346
- 0.16189057
- 0.5271367
plot_embedding:
dense:
values:
- 0.47520825
- 0.090267465
- 0.8752308
soundtrack_embedding:
dense:
values:
- 0.5920452
- 0.08301644
- 0.12647335
- 0.619643
- 0.49258286
sparse_embedding:
sparse:
indices:
- 4065
- 13326
- 17377
- 25918
- 28105
- 32683
- 42998
values:
- 1.0
- 6.0
- 3.0
- 2.0
- 8.0
- 5.0
- 2.0
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
# Initialize request
request = vectorsearch_v1.GetDataObjectRequest(
name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
)
# Make the request
response = data_object_service_client.get_data_object(request=request)
# Handle the response
print(response)
Memperbarui Objek Data
Contoh berikut menunjukkan cara memperbarui kolom data title
dan nilai vektor plot_embedding di Objek Data dengan ID DATA_OBJECT_ID
dalam Kumpulan dengan ID COLLECTION_ID.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
PATCH https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID
Meminta isi JSON:
{
"data": {
"title": "The Shawshank Redemption (updated)"
},
"vectors": {
"plot_embedding": {
"dense": {
"values": [
1.0,
1.0,
1.0
]
}
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
"data": {
"title": "The Shawshank Redemption (updated)"
},
"vectors": {
"plot_embedding": {
"dense": {
"values": [
1,
1,
1
]
}
}
}
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects update DATA_OBJECT_ID \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --data='{"title": "The Shawshank Redemption (updated)"}' \ --update-vectors='{"plot_embedding": {"dense": {"values": [1.0, 1.0, 1.0]}}}'
Windows (PowerShell)
gcloud vector-search collections data-objects update DATA_OBJECT_ID ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --data='{"title": "The Shawshank Redemption (updated)"}' ` --update-vectors='{"plot_embedding": {"dense": {"values": [1.0, 1.0, 1.0]}}}'
Windows (cmd.exe)
gcloud vector-search collections data-objects update DATA_OBJECT_ID ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --data='{"title": "The Shawshank Redemption (updated)"}' ^ --update-vectors='{"plot_embedding": {"dense": {"values": [1.0, 1.0, 1.0]}}}'
Anda akan melihat respons seperti berikut:
Updated dataObject [DATA_OBJECT_ID].
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
# Initialize request
data_object = vectorsearch_v1.DataObject(
name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
data={"title": "The Shawshank Redemption (updated)"},
vectors={
"plot_embedding": {
"dense": {"values": [1., 1., 1.]}
},
},
)
request = vectorsearch_v1.UpdateDataObjectRequest(
data_object=data_object,
)
# Make the request
response = data_object_service_client.update_data_object(request=request)
# Handle the response
print(response)
Memperbarui Objek Data secara Batch
Untuk memperbarui banyak Objek Data sekaligus, gunakan batchUpdate. Maksimum 1.000
Objek Data dapat diperbarui dalam satu batch. Setiap permintaan per-data
menentukan dataObject (yang harus menyertakan name resource lengkapnya ditambah
kolom yang ingin Anda ubah) dan daftar updateMask yang mencantumkan kolom yang akan
ditimpa. Kolom yang tidak tercantum dalam mask dibiarkan tidak berubah.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects:batchUpdate
Meminta isi JSON:
{
"requests": [
{
"dataObject": {
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1",
"data": { "genre": "Thriller" }
},
"updateMask": "data.genre"
},
{
"dataObject": {
"name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2",
"vectors": {
"plot_embedding": {
"dense": { "values": [0.21, 0.34, 0.55] }
}
}
},
"updateMask": "vectors.plot_embedding"
}
]
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects batch-update \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --requests='[ { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1","data":{"genre":"Thriller"}}, "updateMask":"data.genre" }, { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2","vectors":{"plot_embedding":{"dense":{"values":[0.21,0.34,0.55]}}}}, "updateMask":"vectors.plot_embedding" } ]'
Windows (PowerShell)
gcloud vector-search collections data-objects batch-update ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --requests='[ { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1","data":{"genre":"Thriller"}}, "updateMask":"data.genre" }, { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2","vectors":{"plot_embedding":{"dense":{"values":[0.21,0.34,0.55]}}}}, "updateMask":"vectors.plot_embedding" } ]'
Windows (cmd.exe)
gcloud vector-search collections data-objects batch-update ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --requests='[ { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1","data":{"genre":"Thriller"}}, "updateMask":"data.genre" }, { "dataObject":{"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2","vectors":{"plot_embedding":{"dense":{"values":[0.21,0.34,0.55]}}}}, "updateMask":"vectors.plot_embedding" } ]'
Python
from google.cloud import vectorsearch_v1
from google.protobuf import field_mask_pb2
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
parent = "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID"
# Each entry specifies the DataObject to update (with its full resource
# name) and an update_mask listing the fields to overwrite. Fields not
# listed in the mask are left unchanged.
requests = [
vectorsearch_v1.UpdateDataObjectRequest(
data_object=vectorsearch_v1.DataObject(
name=f"{parent}/dataObjects/movie-1",
data={"genre": "Thriller"},
),
update_mask=field_mask_pb2.FieldMask(paths=["data.genre"]),
),
vectorsearch_v1.UpdateDataObjectRequest(
data_object=vectorsearch_v1.DataObject(
name=f"{parent}/dataObjects/movie-2",
vectors={
"plot_embedding": {"dense": {"values": [0.21, 0.34, 0.55]}},
},
),
update_mask=field_mask_pb2.FieldMask(paths=["vectors.plot_embedding"]),
),
]
request = vectorsearch_v1.BatchUpdateDataObjectsRequest(
parent=parent,
requests=requests,
)
# Make the request
data_object_service_client.batch_update_data_objects(request=request)
Mengimpor Objek Data
Contoh berikut menunjukkan cara mengimpor Objek Data dari Cloud Storage ke dalam Kumpulan dengan ID COLLECTION_ID. Gunakan impor untuk set data besar; untuk penyerapan massal yang lebih kecil (hingga 1.000 record), pertimbangkan untuk membuat Objek Data dalam batch.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:importDataObjects
Meminta isi JSON:
{
"gcsImport": {
"contentsUri": "gs://your-bucket/path/to/your-data.json",
"errorUri": "gs://your-bucket/path/to/import-errors/",
"outputUri": "gs://your-bucket/path/to/import-output/"
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-1770039043815-649d75471f76e-08de3049-276a02be",
"metadata": {
"@type": "type.googleapis.com/google.cloud.vectorsearch.v1.ImportDataObjectsMetadata",
"createTime": "2026-02-02T13:30:43.874527852Z"
},
"done": false
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections import-data-objects COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --gcs-import-contents-uri="gs://your-bucket/path/to/your-data.json" \ --gcs-import-error-uri="gs://your-bucket/path/to/import-errors/" \ --gcs-import-output-uri="gs://your-bucket/path/to/import-output/" \ --async
Windows (PowerShell)
gcloud vector-search collections import-data-objects COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --gcs-import-contents-uri="gs://your-bucket/path/to/your-data.json" ` --gcs-import-error-uri="gs://your-bucket/path/to/import-errors/" ` --gcs-import-output-uri="gs://your-bucket/path/to/import-output/" ` --async
Windows (cmd.exe)
gcloud vector-search collections import-data-objects COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --gcs-import-contents-uri="gs://your-bucket/path/to/your-data.json" ^ --gcs-import-error-uri="gs://your-bucket/path/to/import-errors/" ^ --gcs-import-output-uri="gs://your-bucket/path/to/import-output/" ^ --async
Python
from google.cloud import vectorsearch_v1
# Create the client
vector_search_service_client = vectorsearch_v1.VectorSearchServiceClient()
# Initialize request
request = vectorsearch_v1.ImportDataObjectsRequest(
name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
gcs_import={
"contents_uri": "gs://your-bucket/path/to/your-data/",
"error_uri": "gs://your-bucket/path/to/import-errors/",
},
)
# Make the request
operation = vector_search_service_client.import_data_objects(request=request)
# Wait for the result (note this may take up to several minutes)
operation.result()
Folder gs://your-bucket/path/to/your-data/ dapat berisi satu atau beberapa file, yang masing-masing berisi beberapa Objek Data.
Gunakan struktur ini untuk set data besar yang tersebar di beberapa file.
Format file berikut didukung di Agent Retrieval:
- JSONL, dengan setiap baris adalah objek JSON yang memiliki tiga properti tingkat teratas:
id,data, danvectors. Gunakan format ini untuk set data Pengambilan Agen baru jika Anda menginginkan input yang mudah dibaca untuk diperiksa dan diedit secara manual. - AVRO: Gunakan format ini untuk set data Pengambilan Agen baru jika Anda memerlukan format biner yang ringkas dan divalidasi skemanya -- biasanya untuk set data besar yang dihasilkan oleh alat pipeline data seperti Dataflow, Beam, atau Spark.
- JSON Vector Search: Gunakan format ini hanya saat Anda memigrasikan set data JSON Vector Search (Vector Search 1.0) yang ada dan ingin menggunakannya kembali apa adanya.
- AVRO Vector Search: Gunakan format ini hanya saat Anda memigrasikan set data AVRO Vector Search (Vector Search 1.0) yang ada dan ingin menggunakannya kembali apa adanya.
JSONL
Contoh berikut menunjukkan format JSONL dengan properti yang diperlukan. Setiap
baris dalam file input adalah satu Objek Data dengan properti id, data,
dan vectors tingkat teratas.
{
"id": "movie-789",
"data": {
"title":"The Shawshank Redemption",
"plot": "...",
"year":1994,
"avg_rating": 8.5,
"movie_runtime_info": {
"hours": 2,
"minutes": 5
},
},
"vectors": {
"title_embedding": [-0.23, 0.88, 0.11, ...],
"sparse_embedding": {
"values": [0.01, -0.93, 0.27, ...],
"indices": [23, 83, 131, ...]
}
}
}
AVRO
Untuk file AVRO, setiap data harus sesuai dengan skema Avro DataObject yang ditampilkan.
Kolom mencerminkan format JSONL:
id(wajibstring).vectors(map,{}default). Setiap entri diberi kunci berdasarkan nama vektor dan nilainya berupaarrayfloat(vektor padat) atauSparseVectordenganvalues(arrayfloat) danindices(arraylong).data(dapat bernilai nullmap, defaultnull). Kuncinya adalah nama kolom data. Setiap nilai adalah rekamanDataValueyang kolomvalue-nya adalah gabungan dari jenis primitif yang didukung (boolean,int,long,float,double,string) ditambaharraydariDataValuedanmapdaristringkeDataValueuntuk struktur bertingkat.etag(nullablestring, defaultnull).
{
"namespace": "com.google.cloud.ai.vectorsearch",
"type": "record",
"name": "DataObject",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "vectors",
"type": {
"type": "map",
"values": [
{
"type": "array",
"items": "float"
},
{
"type": "record",
"name": "SparseVector",
"fields": [
{
"name": "values",
"type": { "type": "array", "items": "float" }
},
{
"name": "indices",
"type": { "type": "array", "items": "long" }
}
]
}
]
},
"default": {}
},
{
"name": "data",
"type": [
"null",
{
"type": "map",
"values": {
"type": "record",
"name": "DataValue",
"fields": [
{
"name": "value",
"type": [
"boolean",
"int",
"long",
"float",
"double",
"string",
{
"type": "array",
"items": "DataValue"
},
{
"type": "map",
"values": "DataValue"
}
]
}
]
}
}
],
"default": null
},
{
"name": "etag",
"type": [
"null",
"string"
],
"default": null
}
]
}
Cuplikan berikut menunjukkan konten konseptual satu rekaman AVRO
yang cocok dengan contoh JSONL sebelumnya. Perhatikan bahwa dalam skema ini, setiap
entri di data di-wrap dalam rekaman DataValue (dengan satu kolom value), yang merupakan cara AVRO merepresentasikan jenis heterogen di data:
{
"id": "movie-789",
"vectors": {
"title_embedding": [-0.23, 0.88, 0.11],
"sparse_embedding": {
"values": [0.01, -0.93, 0.27],
"indices": [23, 83, 131]
}
},
"data": {
"title": { "value": "The Shawshank Redemption" },
"plot": { "value": "..." },
"year": { "value": 1994 },
"avg_rating": { "value": 8.5 },
"movie_runtime_info": {
"value": {
"hours": { "value": 2 },
"minutes": { "value": 5 }
}
}
}
}
Mengekspor Objek Data
Contoh berikut menunjukkan cara mengekspor setiap Objek Data dalam Koleksi ke Cloud Storage dalam format JSONL. Bucket tujuan harus berada di region yang sama dengan Koleksi. Ekspor adalah operasi yang berjalan lama.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:exportDataObjects
Meminta isi JSON:
{
"gcsDestination": {
"exportUri": "gs://your-bucket/path/to/export-dir/",
"format": "JSONL"
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-1770039043815-649d75471f76e-08de3049-276a02be",
"metadata": {
"@type": "type.googleapis.com/google.cloud.vectorsearch.v1.ExportDataObjectsMetadata",
"createTime": "2026-02-02T13:30:43.874527852Z"
},
"done": false
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections export-data-objects COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --gcs-destination-export-uri="gs://your-bucket/path/to/export-dir/" \ --gcs-destination-format="jsonl" \ --async
Windows (PowerShell)
gcloud vector-search collections export-data-objects COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --gcs-destination-export-uri="gs://your-bucket/path/to/export-dir/" ` --gcs-destination-format="jsonl" ` --async
Windows (cmd.exe)
gcloud vector-search collections export-data-objects COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --gcs-destination-export-uri="gs://your-bucket/path/to/export-dir/" ^ --gcs-destination-format="jsonl" ^ --async
Python
from google.cloud import vectorsearch_v1
# Create the client
vector_search_service_client = vectorsearch_v1.VectorSearchServiceClient()
# Initialize request
request = vectorsearch_v1.ExportDataObjectsRequest(
name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
gcs_destination={
"export_uri": "gs://your-bucket/path/to/export-dir/",
"format": vectorsearch_v1.ExportDataObjectsRequest.GcsExportDestination.Format.JSONL,
},
)
# Make the request
operation = vector_search_service_client.export_data_objects(request=request)
# Wait for the result (note this may take up to several minutes)
operation.result()
Menghapus Objek Data
Contoh berikut menunjukkan cara menghapus satu Objek Data
DATA_OBJECT_ID dari Kumpulan dengan ID
COLLECTION_ID.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
DELETE https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-1770039043815-649d75471f76e-08de3049-276a02be",
"metadata": {
"@type": "type.googleapis.com/google.cloud.vectorsearch.v1.ExportDataObjectsMetadata",
"createTime": "2026-02-02T13:30:43.874527852Z"
},
"done": false
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- DATA_OBJECT_ID: ID objek data.
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects delete DATA_OBJECT_ID \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud vector-search collections data-objects delete DATA_OBJECT_ID ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud vector-search collections data-objects delete DATA_OBJECT_ID ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID
Anda akan melihat respons seperti berikut:
Deleted dataObject [DATA_OBJECT_ID].
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
# Initialize request
request = vectorsearch_v1.DeleteDataObjectRequest(
name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/DATA_OBJECT_ID",
)
# Make the request
data_object_service_client.delete_data_object(request=request)
Menghapus Objek Data secara Batch
Untuk menghapus banyak Objek Data sekaligus, gunakan batchDelete dengan daftar nama resource Objek Data yang sepenuhnya memenuhi syarat. Maksimum 1.000 Objek Data
dapat dihapus dalam satu batch.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects:batchDelete
Meminta isi JSON:
{
"requests": [
{ "name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1" },
{ "name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2" }
]
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects batch-delete \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --requests='[ {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1"}, {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2"} ]'
Windows (PowerShell)
gcloud vector-search collections data-objects batch-delete ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --requests='[ {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1"}, {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2"} ]'
Windows (cmd.exe)
gcloud vector-search collections data-objects batch-delete ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --requests='[ {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-1"}, {"name":"projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects/movie-2"} ]'
Python
from google.cloud import vectorsearch_v1
# Create the client
data_object_service_client = vectorsearch_v1.DataObjectServiceClient()
parent = "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID"
requests = [
vectorsearch_v1.DeleteDataObjectRequest(
name=f"{parent}/dataObjects/movie-1",
),
vectorsearch_v1.DeleteDataObjectRequest(
name=f"{parent}/dataObjects/movie-2",
),
]
request = vectorsearch_v1.BatchDeleteDataObjectsRequest(
parent=parent,
requests=requests,
)
# Make the request
data_object_service_client.batch_delete_data_objects(request=request)
Menghitung Objek Data
Untuk menghitung jumlah Objek Data yang ada dalam Koleksi, gunakan operasi
aggregate dengan metode agregasi COUNT. Panggilan yang sama menerima ekspresi filter JSON opsional sehingga Anda hanya dapat menghitung Objek Data yang cocok dengan predikat (misalnya, genre == "sci-fi").
Untuk menghitung setiap Objek Data dalam Kumpulan, hapus filter.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Metode HTTP dan URL:
POST https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID/dataObjects:aggregate
Meminta isi JSON:
{
"aggregate": "COUNT",
"filter": { "genre": { "$eq": "sci-fi" } }
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"aggregateResults": [
{ "count": "42" }
]
}
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- COLLECTION_ID: ID koleksi.
- LOCATION: Region tempat Anda menggunakan Agent Platform.
- PROJECT_ID: Project ID Anda. Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud vector-search collections data-objects aggregate \ --collection=COLLECTION_ID \ --location=LOCATION \ --project=PROJECT_ID \ --aggregation-method=count \ --json-filter='{"genre": {"$eq": "sci-fi"}}'
Windows (PowerShell)
gcloud vector-search collections data-objects aggregate ` --collection=COLLECTION_ID ` --location=LOCATION ` --project=PROJECT_ID ` --aggregation-method=count ` --json-filter='{"genre": {"$eq": "sci-fi"}}'
Windows (cmd.exe)
gcloud vector-search collections data-objects aggregate ^ --collection=COLLECTION_ID ^ --location=LOCATION ^ --project=PROJECT_ID ^ --aggregation-method=count ^ --json-filter='{"genre": {"$eq": "sci-fi"}}'
Python
from google.cloud import vectorsearch_v1
from google.protobuf import struct_pb2
from google.protobuf import json_format
# Create the client
search_client = vectorsearch_v1.DataObjectSearchServiceClient()
parent = "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID"
# Optional: build a JSON filter. Omit `filter=` to count everything.
filter_struct = json_format.ParseDict(
{"genre": {"$eq": "sci-fi"}}, struct_pb2.Struct()
)
request = vectorsearch_v1.AggregateDataObjectsRequest(
parent=parent,
aggregate=vectorsearch_v1.AggregationMethod.COUNT,
filter=filter_struct,
)
# Make the request
response = search_client.aggregate_data_objects(request=request)
# The count value is returned in aggregate_results[0].
for result in response.aggregate_results:
print(result)
Apa langkah selanjutnya?
- Pelajari cara menggunakan ETag untuk kontrol konkurensi Objek Data.
- Pelajari Indeks Kumpulan Koleksi.
- Lihat cara membuat kueri dan menelusuri Objek Data.