NAME
    gcloud vector-search collections create - create a collection

SYNOPSIS
    gcloud vector-search collections create (COLLECTION : --location=LOCATION)
        [--async] [--data-schema=DATA_SCHEMA] [--description=DESCRIPTION]
        [--display-name=DISPLAY_NAME]
        [--encryption-spec-crypto-key-name=ENCRYPTION_SPEC_CRYPTO_KEY_NAME]
        [--labels=[LABELS,...]] [--request-id=REQUEST_ID]
        [--vector-schema=[VECTOR_SCHEMA,...]] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Create a collection.

EXAMPLES
    To create a collection my-collection in project my-project and location
    us-central1 to store dense embedding vectors with 100 dimensions, run:

        $ gcloud vector-search collections create my-collection \
            --location=us-central1 --display-name='My Collection' \
            --vector-schema='{"my-embedding-field": {"denseVector":
         {"dimensions": 100}}}' --project=my-project

    To create a collection my-collection in project my-project and location
    us-central1 with data schema and vector schema, run:

        $ gcloud vector-search collections create my-collection \
            --location=us-central1 --display-name='My Collection' \
            --data-schema='{"type":"object","properties":{"year":{"type":"nu\
        mber"},"genre":{"type":"string"},"director":{"type":"string"},"title\
        ":{"type":"string"}}}' \
            --vector-schema='{"plot_embedding":{"denseVector":{"dimensions":\
        3}},"genre_embedding":{"denseVector":{"dimensions":4}},"sparse_embed\
        ding":{"sparseVector":{}}}' --project=my-project

    To create a CMEK-encrypted collection my-collection in project my-project
    and location us-central1 to store dense embedding vectors with 100
    dimensions, run:

        $ gcloud vector-search collections create my-collection \
            --location=us-central1 --display-name='My Collection' \
            --vector-schema='{"my-embedding-field": {"denseVector":
         {"dimensions": 100}}}' \
            --encryption-spec-crypto-key-name='projects/my-project/locations\
        /us-central1/keyRings/my-key-ring/cryptoKeys/my-key' \
            --project=my-project

POSITIONAL ARGUMENTS
     Collection resource - Identifier. name of resource The arguments in this
     group can be used to specify the attributes of this resource. (NOTE) Some
     attributes are not given arguments in this group but can be set in other
     ways.

     To set the project attribute:
      ◆ provide the argument collection on the command line with a fully
        specified name;
      ◆ provide the argument --project on the command line;
      ◆ set the property core/project.

     This must be specified.

       COLLECTION
          ID of the collection or fully qualified identifier for the
          collection.

          To set the collection attribute:
          ▸ provide the argument collection on the command line.

          This positional argument must be specified if any of the other
          arguments in this group are specified.

       --location=LOCATION
          The location id of the collection resource.

          To set the location attribute:
          ▸ provide the argument collection on the command line with a fully
            specified name;
          ▸ provide the argument --location on the command line.

FLAGS
     --async
        Return immediately, without waiting for the operation in progress to
        complete.

     --data-schema=DATA_SCHEMA
        JSON Schema for data. Field names must contain only alphanumeric
        characters, underscores, and hyphens. The schema must be compliant with
        JSON Schema Draft 7 (https://json-schema.org/draft-07/schema).

     --description=DESCRIPTION
        User-specified description of the collection

     --display-name=DISPLAY_NAME
        User-specified display name of the collection

     Represents a customer-managed encryption key specification that can be
     applied to a Vector Search collection.

     --encryption-spec-crypto-key-name=ENCRYPTION_SPEC_CRYPTO_KEY_NAME
        Resource name of the Cloud KMS key used to protect the resource.

        The Cloud KMS key must be in the same region as the resource. It must
        have the format
        projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

     --labels=[LABELS,...]
        Labels as key value pairs.

         KEY
            Keys must start with a lowercase character and contain only hyphens
            (-), underscores (_), lowercase characters, and numbers.

         VALUE
            Values must contain only hyphens (-), underscores (_), lowercase
            characters, and numbers.

        Shorthand Example:

            --labels=string=string

        JSON Example:

            --labels='{"string": "string"}'

        File Example:

            --labels=path_to_file.(yaml|json)

     --request-id=REQUEST_ID
        An optional request ID to identify requests. Specify a unique request
        ID so that if you must retry your request, the server will know to
        ignore the request if it has already been completed. The server will
        guarantee that for at least 60 minutes since the first request.

        For example, consider a situation where you make an initial request and
        the request times out. If you make the request again with the same
        request ID, the server can check if original operation with the same
        request ID was received, and if so, will ignore the second request.
        This prevents clients from accidentally creating duplicate commitments.

        The request ID must be a valid UUID with the exception that zero UUID
        is not supported (00000000-0000-0000-0000-000000000000).

     --vector-schema=[VECTOR_SCHEMA,...]
        Schema for vector fields. Only vector fields in this schema will be
        searchable. Field names must contain only alphanumeric characters,
        underscores, and hyphens.

         KEY
            Sets KEY value.

         VALUE
            Sets VALUE value.

             denseVector
                Dense vector field.

                 dimensions
                    Dimensionality of the vector field.

                 vertexEmbeddingConfig
                    Configuration for generating embeddings for the vector
                    field. If not specified, the embedding field must be
                    populated in the DataObject.

                     modelId
                        Required: ID of the embedding model to use. See
                        https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#embeddings-models
                        for the list of supported models.

                     taskType
                        Required: Task type for the embeddings.

                     textTemplate
                        Required: Text template for the input to the model. The
                        template must contain one or more references to fields
                        in the DataObject, e.g.: "Movie Title: {title} ----
                        Movie Plot: {plot}".

             sparseVector
                Sparse vector field.

        Shorthand Example:

            --vector-schema=string={denseVector={dimensions=int,vertexEmbeddingConfig={modelId=string,taskType=string,textTemplate=string}},sparseVector}

        JSON Example:

            --vector-schema='{"string": {"denseVector": {"dimensions": int, "vertexEmbeddingConfig": {"modelId": "string", "taskType": "string", "textTemplate": "string"}}, "sparseVector": {}}}'

        File Example:

            --vector-schema=path_to_file.(yaml|json)

GCLOUD WIDE FLAGS
    These flags are available to all commands: --access-token-file, --account,
    --billing-project, --configuration, --flags-file, --flatten, --format,
    --help, --impersonate-service-account, --log-http, --project, --quiet,
    --trace-token, --user-output-enabled, --verbosity.

    Run $ gcloud help for details.

API REFERENCE
    This command uses the vectorsearch/v1 API. The full documentation for this
    API can be found at:
    https://docs.cloud.google.com/vertex-ai/docs/vector-search-2/overview

NOTES
    This variant is also available:

        $ gcloud beta vector-search collections create

