Koleksi

Di Vector Search 2.0, Koleksi digunakan untuk menyimpan Objek Data terkait. Objek Data ini menyediakan sumber tepercaya yang dapat Anda kueri untuk menentukan status persis Objek Data yang dikandungnya.

Skema Pengumpulan

Saat membuat Kumpulan, Anda harus memberikan skema JSON berikut:

  • Skema data, yang menyediakan struktur data yang ditentukan pengguna.

  • Skema vektor yang menentukan dan mengonfigurasi kolom vektor untuk Objek Data Anda.

Secara keseluruhan, ini disebut sebagai Skema Kumpulan Data.

Membuat Koleksi

Contoh berikut menunjukkan cara membuat Koleksi dengan ID COLLECTION_ID, yang menentukan skema data dan skema vektor.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Metode HTTP dan URL:

POST https://vectorsearch.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/collections?collection_id=COLLECTION_ID

Meminta isi JSON:

{
  "data_schema": {
    "type": "object",
    "properties": {
      "year": {
        "type": "number"
      },
      "genre": {
        "type": "string"
      },
      "director": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    }
  },
  "vector_schema": {
    "plot_embedding": {
      "dense_vector": {
        "dimensions": 3
      }
    },
    "soundtrack_embedding": {
      "dense_vector": {
        "dimensions": 5
      }
    },
    "genre_embedding": {
      "dense_vector": {
        "dimensions": 4
      }
    },
    "sparse_embedding": {
      "sparse_vector": {}
    }
  },
  "labels": {
    "fookey": "barvalue"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.vectorsearch.v1beta.OperationMetadata",
    "createTime": "2026-01-23T17:17:29.687753204Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • DATA_SCHEMA_FILE: Jalur lokal ke file skema data.
  • VECTOR_SCHEMA_FILE: Jalur lokal ke file skema vektor.
  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta vector-search collections create COLLECTION_ID \
  --data-schema=DATA_SCHEMA_FILE \
  --vector-schema=VECTOR_SCHEMA_FILE \
  --labels=fookey=barvalue \
  --location=LOCATION \
  --project=PROJECT_ID

Windows (PowerShell)

gcloud beta vector-search collections create COLLECTION_ID `
  --data-schema=DATA_SCHEMA_FILE `
  --vector-schema=VECTOR_SCHEMA_FILE `
  --labels=fookey=barvalue `
  --location=LOCATION `
  --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta vector-search collections create COLLECTION_ID ^
  --data-schema=DATA_SCHEMA_FILE ^
  --vector-schema=VECTOR_SCHEMA_FILE ^
  --labels=fookey=barvalue ^
  --location=LOCATION ^
  --project=PROJECT_ID

Anda akan melihat respons seperti berikut:

Created collection [COLLECTION_ID].

Python

from google.cloud import vectorsearch_v1beta

# Create the client
vector_search_service_client = vectorsearch_v1beta.VectorSearchServiceClient()

# The JSON schema for the data
data_schema = {
    "type": "object",
    "properties": {
        "year": {"type": "number"},
        "genre": {"type": "string"},
        "director": {"type": "string"},
        "title": {"type": "string"},
    },
}

# The JSON schema for the vector
vector_schema = {
    "plot_embedding": {"dense_vector": {"dimensions": 3}},
    "soundtrack_embedding": {"dense_vector": {"dimensions": 5}},
    "genre_embedding": {"dense_vector": {"dimensions": 4}},
    "sparse_embedding": {"sparse_vector": {}},
}

collection = vectorsearch_v1beta.Collection(
    data_schema=data_schema,
    vector_schema=vector_schema,
)
request = vectorsearch_v1beta.CreateCollectionRequest(
    parent="projects/PROJECT_ID/locations/LOCATION",
    collection_id="COLLECTION_ID",
    collection=collection,
)

# Create the collection
operation = vector_search_service_client.create_collection(request=request)
operation.result()

Dalam contoh, permintaan dibuat dengan collection_id ditetapkan ke COLLECTION_ID dan berikut sebagai bagian dari isi permintaan:

  1. data_schema - Menentukan struktur Objek Data.

  2. vector_schema - Mengonfigurasi dan menentukan kolom vektor.

Semua kolom dalam skema harus ditentukan secara eksplisit. Opsi skema JSON additionalProperties tidak didukung.

Mendapatkan Koleksi

Contoh berikut menunjukkan cara mendapatkan referensi ke Koleksi yang ada dengan ID COLLECTION_ID.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Metode HTTP dan URL:

GET https://vectorsearch.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID

Meminta isi JSON:

{
  "data_schema": {
    "type": "object",
    "properties": {
      "year": {
        "type": "number"
      },
      "genre": {
        "type": "string"
      },
      "director": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    }
  },
  "vector_schema": {
    "plot_embedding": {
      "dense_vector": {
        "dimensions": 3
      }
    },
    "soundtrack_embedding": {
      "dense_vector": {
        "dimensions": 5
      }
    },
    "genre_embedding": {
      "dense_vector": {
        "dimensions": 4
      }
    },
    "sparse_embedding": {
      "sparse_vector": {}
    }
  },
  "labels": {
    "fookey": "barvalue"
  }
}

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",
  "createTime": "2026-01-23T17:17:29.681218929Z",
  "updateTime": "2026-01-23T17:17:30.402200642Z",
  "labels": {
    "fookey": "barvalue"
  },
  "vectorSchema": {
    "genre_embedding": {
      "denseVector": {
        "dimensions": 4
      }
    },
    "sparse_embedding": {
      "sparseVector": {}
    },
    "plot_embedding": {
      "denseVector": {
        "dimensions": 3
      }
    },
    "soundtrack_embedding": {
      "denseVector": {
        "dimensions": 5
      }
    }
  },
  "dataSchema": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string"
      },
      "year": {
        "type": "number"
      },
      "genre": {
        "type": "string"
      },
      "director": {
        "type": "string"
      }
    }
  }
}

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud  beta vector-search collections describe COLLECTION_ID \
--location=LOCATION \
--project=PROJECT_ID

Windows (PowerShell)

gcloud  beta vector-search collections describe COLLECTION_ID `
--location=LOCATION `
--project=PROJECT_ID

Windows (cmd.exe)

gcloud  beta vector-search collections describe COLLECTION_ID ^
--location=LOCATION ^
--project=PROJECT_ID

Anda akan melihat respons seperti berikut:

createTime: '2026-01-23T17:17:29.681218929Z'
dataSchema:
  properties:
    director:
      type: string
    genre:
      type: string
    title:
      type: string
    year:
      type: number
  type: object
labels:
  fookey: barvalue
name: projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID
updateTime: '2026-01-23T17:17:30.402200642Z'
vectorSchema:
  genre_embedding:
    denseVector:
      dimensions: 4
  plot_embedding:
    denseVector:
      dimensions: 3
  soundtrack_embedding:
    denseVector:
      dimensions: 5
  sparse_embedding:
    sparseVector: {}

Python

from google.cloud import vectorsearch_v1beta

# Create the client
vector_search_service_client = vectorsearch_v1beta.VectorSearchServiceClient()

# Initialize request
request = vectorsearch_v1beta.GetCollectionRequest(
    name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
)

# Make the request
response = vector_search_service_client.get_collection(request=request)

# Handle the response
print(response)

Mencantumkan Koleksi

Contoh berikut menunjukkan cara mengambil daftar Koleksi yang ada.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Metode HTTP dan URL:

GET https://vectorsearch.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/collections

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "collections": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
      "createTime": "2026-01-23T17:17:29.681218929Z",
      "updateTime": "2026-01-23T17:17:30.402200642Z",
      "labels": {
        "fookey": "barvalue"
      },
      "vectorSchema": {
        "genre_embedding": {
          "denseVector": {
            "dimensions": 4
          }
        },
        "sparse_embedding": {
          "sparseVector": {}
        },
        "plot_embedding": {
          "denseVector": {
            "dimensions": 3
          }
        },
        "soundtrack_embedding": {
          "denseVector": {
            "dimensions": 5
          }
        }
      },
      "dataSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "number"
          },
          "genre": {
            "type": "string"
          },
          "director": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    }
  ]
}

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta vector-search collections list \
--location=LOCATION \
--project=PROJECT_ID

Windows (PowerShell)

gcloud beta vector-search collections list `
--location=LOCATION `
--project=PROJECT_ID

Windows (cmd.exe)

gcloud beta vector-search collections list ^
--location=LOCATION ^
--project=PROJECT_ID

Anda akan melihat respons seperti berikut:

---
createTime: '2026-01-23T17:17:29.681218929Z'
dataSchema:
  properties:
    director:
      type: string
    genre:
      type: string
    title:
      type: string
    year:
      type: number
  type: object
labels:
  fookey: barvalue
name: projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID
updateTime: '2026-01-23T17:17:30.402200642Z'
vectorSchema:
  genre_embedding:
    denseVector:
      dimensions: 4
  plot_embedding:
    denseVector:
      dimensions: 3
  soundtrack_embedding:
    denseVector:
      dimensions: 5
  sparse_embedding:
    sparseVector: {}

Python

from google.cloud import vectorsearch_v1beta

# Create the client
vector_search_service_client = vectorsearch_v1beta.VectorSearchServiceClient()

# Initialize request argument
request = vectorsearch_v1beta.ListCollectionsRequest(
    parent="projects/PROJECT_ID/locations/LOCATION",
)

# Make the request
page_result = vector_search_service_client.list_collections(request=request)

# Handle the response
for response in page_result:
    print(response)

Memperbarui Koleksi

Metode UpdateCollection memungkinkan Anda mengubah resource Kumpulan yang ada. Anda dapat mengontrol kolom mana yang diperbarui melalui update_mask. Jika Anda tidak memberikan mask update, kolom apa pun yang ada dalam permintaan update akan menggantikan kolom yang sesuai dalam Kumpulan.

Kolom yang ditentukan dalam mask pembaruan bersifat relatif terhadap resource Kumpulan. Untuk mengganti seluruh resource Kumpulan sepenuhnya dengan yang disediakan dalam permintaan, gunakan * sebagai mask update.

Anda dapat memperbarui kolom berikut:

  • display_name
  • description
  • labels
  • data_schema
  • vector_schema

Anda dapat melakukan perubahan berikut untuk data_schema dan vector_schema:

  • Tambahkan kolom.
  • Hapus kolom vertex_embedding_config dari elemen vector_schema. Semua kolom lainnya tidak dapat dihapus.
  • Tentukan jalur sub-kolom di update__mask untuk memperbarui anggota bertingkat dalam data_schema dan vector_schema. Contoh:

    • data_schema.properties.new_field
    • vector_schema.my_vector_field

Menghapus Koleksi

Contoh berikut menunjukkan cara menghapus Koleksi yang ada dengan ID COLLECTION_ID.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Metode HTTP dan URL:

DELETE https://vectorsearch.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_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-1769280311389-64926ac77ed08-661d4521-c7d3036c",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.vectorsearch.v1beta.OperationMetadata",
    "createTime": "2026-01-24T18:45:11.402619681Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • COLLECTION_ID: ID koleksi.
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • PROJECT_ID: Project ID Anda. Google Cloud

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta vector-search collections delete COLLECTION_ID \
--location=LOCATION \
--project=PROJECT_ID

Windows (PowerShell)

gcloud beta vector-search collections delete COLLECTION_ID `
--location=LOCATION `
--project=PROJECT_ID

Windows (cmd.exe)

gcloud beta vector-search collections delete COLLECTION_ID ^
--location=LOCATION ^
--project=PROJECT_ID

Anda akan melihat respons seperti berikut:

Deleted collection [COLLECTION_ID].

Python

from google.cloud import vectorsearch_v1beta

# Create the client
vector_search_service_client = vectorsearch_v1beta.VectorSearchServiceClient()

# Initialize request
request = vectorsearch_v1beta.DeleteCollectionRequest(
    name="projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID",
)

# Make the request
operation = vector_search_service_client.delete_collection(request=request)
operation.result()

Apa langkah selanjutnya?