Deployment e gestione degli endpoint indice pubblici

Per eseguire query su un indice sono necessari alcuni passaggi:

  1. Crea un IndexEndpoint, se necessario, oppure riutilizza un oggetto IndexEndpoint esistente.
  2. Ottieni l'ID IndexEndpoint.
  3. Esegui il deployment dell'indice in IndexEndpoint.

Crea un IndexEndpoint

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints create \
    --display-name=INDEX_ENDPOINT_NAME \
    --public-endpoint-enabled \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints create `
    --display-name=INDEX_ENDPOINT_NAME `
    --public-endpoint-enabled `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints create ^
    --display-name=INDEX_ENDPOINT_NAME ^
    --public-endpoint-enabled ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints

Corpo JSON della richiesta:

{
 "display_name": "INDEX_ENDPOINT_NAME",
 "publicEndpointEnabled": "true"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateIndexEndpointOperationMetadata",
    "genericMetadata": {
      "createTime": "2022-01-13T04:09:56.641107Z",
      "updateTime": "2022-01-13T04:09:56.641107Z"
    }
  }
}
Puoi eseguire il polling per verificare lo stato dell'operazione finché la risposta non include "done": true.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

def vector_search_create_index_endpoint(
    project: str, location: str, display_name: str
) -> None:
    """Create a vector search index endpoint.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        display_name (str): Required. The index endpoint display name
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

    # Create Index Endpoint
    index_endpoint = aiplatform.MatchingEngineIndexEndpoint.create(
        display_name=display_name,
        public_endpoint_enabled=True,
        description="Matching Engine Index Endpoint",
    )

    print(index_endpoint.name)

Console

Utilizza queste istruzioni per creare un endpoint indice.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Viene visualizzato un elenco dei tuoi indici attivi.
  3. Nella parte superiore della pagina, seleziona la scheda Endpoint indice. Gli endpoint indice vengono visualizzati.
  4. Fai clic su Crea nuovo endpoint indice. Viene visualizzato il riquadro Crea un nuovo endpoint indice.
  5. Inserisci un nome visualizzato per l'endpoint indice.
  6. Nel campo Regione, seleziona una regione dal menu a discesa.
  7. Nel campo Accesso, seleziona Standard.
  8. Fai clic su Crea.

esegui il deployment di un indice su un endpoint

gcloud

In questo esempio viene utilizzato il comando gcloud ai index-endpoints deploy-index.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • DEPLOYED_INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice di cui è stato eseguito il deployment.
  • INDEX_ID: l'ID dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME \
    --index=INDEX_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME `
    --index=INDEX_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ^
    --index=INDEX_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • DEPLOYED_INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice di cui è stato eseguito il deployment.
  • INDEX_ID: l'ID dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corpo JSON della richiesta:

{
 "deployedIndex": {
   "id": "DEPLOYED_INDEX_ID",
   "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
   "displayName": "DEPLOYED_INDEX_ENDPOINT_NAME"
 }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
 "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-10-19T17:53:16.502088Z",
     "updateTime": "2022-10-19T17:53:16.502088Z"
   },
   "deployedIndexId": "DEPLOYED_INDEX_ID"
 }
}

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

def vector_search_deploy_index(
    project: str,
    location: str,
    index_name: str,
    index_endpoint_name: str,
    deployed_index_id: str,
) -> None:
    """Deploy a vector search index to a vector search index endpoint.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        index_name (str): Required. The index to update. A fully-qualified index
          resource name or a index ID.  Example:
          "projects/123/locations/us-central1/indexes/my_index_id" or
          "my_index_id".
        index_endpoint_name (str): Required. Index endpoint to deploy the index to.
        deployed_index_id (str): Required. The user specified ID of the DeployedIndex.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

    # Create the index instance from an existing index
    index = aiplatform.MatchingEngineIndex(index_name=index_name)

    # Create the index endpoint instance from an existing endpoint.
    index_endpoint = aiplatform.MatchingEngineIndexEndpoint(
        index_endpoint_name=index_endpoint_name
    )

    # Deploy Index to Endpoint
    index_endpoint = index_endpoint.deploy_index(
        index=index, deployed_index_id=deployed_index_id
    )

    print(index_endpoint.deployed_indexes)

Console

Utilizza queste istruzioni per eseguire il deployment dell'indice su un endpoint.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Viene visualizzato un elenco dei tuoi indici attivi.
  3. Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Si apre la pagina dei dettagli dell'indice.
  4. Nella pagina dei dettagli dell'indice, fai clic su Esegui il deployment nell'endpoint. Si apre il riquadro di deployment dell'indice.
  5. Inserisci un nome visualizzato, che funge da ID e non può essere aggiornato.
  6. Dal menu a discesa Endpoint, seleziona l'endpoint in cui vuoi eseguire il deployment dell'indice. Nota: l'endpoint non è disponibile se è già stato eseguito il deployment dell'indice.
  7. (Facoltativo) Nel campo Tipo di macchina, seleziona Standard o con memoria elevata.
  8. Facoltativo. Seleziona Abilita scalabilità automatica per ridimensionare automaticamente il numero di nodi in base alle esigenze dei tuoi carichi di lavoro. Il numero predefinito di repliche è 2 se la scalabilità automatica è disabilitata.
  9. Fai clic su Esegui il deployment per eseguire il deployment dell'indice nell'endpoint. Nota: il deployment richiede circa 30 minuti.

Recupera il nome di dominio dell'indice

Dopo il deployment dell'indice, devi avere il nome di dominio che può essere utilizzato per una query online. Il valore è disponibile in publicEndpointDomainName.

curl -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`"  ${ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${REGION}/indexEndpoints/${INDEX_ENDPOINT_ID}

Esempio di risposta

{
  "name": "projects/181224308459/locations/us-central1/indexEndpoints/3370566089086861312",
  "displayName": "public-endpoint-test1",
  "deployedIndexes": [
    {
      "id": "test_index_public1",
      "index": "projects/181224308459/locations/us-central1/indexes/7733428228102029312",
      "displayName": "test_index_public1",
      "createTime": "2023-02-08T23:19:58.026843Z",
      "indexSyncTime": "2023-02-09T05:26:19.309417Z",
      "automaticResources": {
        "minReplicaCount": 2,
        "maxReplicaCount": 2
      },
      "deploymentGroup": "default"
    }
  ],
  "etag": "AMEw9yNkXQcSke8iqW9SYxfhj_hT9GCwPt1XlxVwJRSCxiXOYnG4CKrZM_X0oH-XN8tR",
  "createTime": "2023-02-08T22:44:20.285382Z",
  "updateTime": "2023-02-08T22:44:26.515162Z",
  "publicEndpointDomainName": "1957880287.us-central1-181224308459.vdb.vertexai.goog"
}

Abilita scalabilità automatica

Vector Search supporta la scalabilità automatica, che può ridimensionare automaticamente il numero di nodi in base alle esigenze dei tuoi carichi di lavoro. Quando la domanda è elevata, al pool di nodi vengono aggiunti nodi che non supereranno la dimensione massima designata. Quando la domanda è ridotta, il pool di nodi viene ridotto fino alla dimensione minima designata. Puoi verificare i nodi effettivi in uso e le modifiche monitorando le repliche attuali.

Per abilitare la scalabilità automatica, specifica maxReplicaCount e minReplicaCount quando esegui il deployment dell'indice:

gcloud

Nell'esempio seguente viene utilizzato il comando gcloud ai index-endpoints deploy-index.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • DEPLOYED_INDEX_NAME: nome visualizzato dell'indice di cui è stato eseguito il deployment.
  • INDEX_ID: l'ID dell'indice.
  • MIN_REPLICA_COUNT: numero minimo di repliche della macchina in cui verrà sempre eseguito il deployment dell'indice. Se specificato, il valore deve essere maggiore o uguale a 1.
  • MAX_REPLICA_COUNT: numero massimo di repliche della macchina in cui è possibile eseguire il deployment dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --display-name=DEPLOYED_INDEX_NAME \
    --index=INDEX_ID \
    --min-replica-count=MIN_REPLICA_COUNT \
    --max-replica-count=MAX_REPLICA_COUNT \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --display-name=DEPLOYED_INDEX_NAME `
    --index=INDEX_ID `
    --min-replica-count=MIN_REPLICA_COUNT `
    --max-replica-count=MAX_REPLICA_COUNT `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --display-name=DEPLOYED_INDEX_NAME ^
    --index=INDEX_ID ^
    --min-replica-count=MIN_REPLICA_COUNT ^
    --max-replica-count=MAX_REPLICA_COUNT ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • DEPLOYED_INDEX_NAME: nome visualizzato dell'indice di cui è stato eseguito il deployment.
  • INDEX_ID: l'ID dell'indice.
  • MIN_REPLICA_COUNT: numero minimo di repliche della macchina in cui verrà sempre eseguito il deployment dell'indice. Se specificato, il valore deve essere maggiore o uguale a 1.
  • MAX_REPLICA_COUNT: numero massimo di repliche della macchina in cui è possibile eseguire il deployment dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corpo JSON della richiesta:

{
 "deployedIndex": {
   "id": "DEPLOYED_INDEX_ID",
   "index": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID",
   "displayName": "DEPLOYED_INDEX_NAME",
   "automaticResources": {
     "minReplicaCount": MIN_REPLICA_COUNT,
     "maxReplicaCount": MAX_REPLICA_COUNT
   }
 }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
 "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2023-10-19T17:53:16.502088Z",
     "updateTime": "2023-10-19T17:53:16.502088Z"
   },
   "deployedIndexId": "DEPLOYED_INDEX_ID"
 }
}

Console

Puoi abilitare la scalabilità automatica dalla console solo durante il deployment dell'indice.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Viene visualizzato un elenco dei tuoi indici attivi.
  3. Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Si apre la pagina dei dettagli dell'indice.
  4. Nella pagina dei dettagli dell'indice, fai clic su Esegui il deployment nell'endpoint. Si apre il riquadro di deployment dell'indice.
  5. Inserisci un nome visualizzato, che funge da ID e non può essere aggiornato.
  6. Dal menu a discesa Endpoint, seleziona l'endpoint in cui vuoi eseguire il deployment dell'indice. Nota: l'endpoint non è disponibile se è già stato eseguito il deployment dell'indice.
  7. (Facoltativo) Nel campo Tipo di macchina, seleziona Standard o con memoria elevata.
  8. Facoltativo. Seleziona Abilita scalabilità automatica per ridimensionare automaticamente il numero di nodi in base alle esigenze dei tuoi carichi di lavoro. Il numero predefinito di repliche è 2 se la scalabilità automatica è disabilitata.
  • Se minReplicaCount e maxReplicaCount non sono impostati, il valore predefinito è 2.
  • Se è impostato solo maxReplicaCount, minReplicaCount è impostato su 2 per impostazione predefinita.
  • Se è impostato solo minReplicaCount, il valore di maxReplicaCount è impostato su minReplicaCount.

Modifica un DeployedIndex

Puoi utilizzare l'API MutateDeployedIndex per aggiornare le risorse di deployment (ad esempio minReplicaCount e maxReplicaCount) di un indice di cui è già stato eseguito il deployment.

  • Gli utenti non sono autorizzati a modificare machineType dopo il deployment dell'indice.
  • Se maxReplicaCount non è specificato nella richiesta, DeployedIndex continua a utilizzare il valore maxReplicaCount esistente.

gcloud

Nell'esempio seguente viene utilizzato il comando gcloud ai index-endpoints mutate-deployed-index.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • MIN_REPLICA_COUNT: numero minimo di repliche della macchina in cui verrà sempre eseguito il deployment dell'indice. Se specificato, il valore deve essere maggiore o uguale a 1.
  • MAX_REPLICA_COUNT: numero massimo di repliche della macchina in cui è possibile eseguire il deployment dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --min-replica-count=MIN_REPLICA_COUNT \
    --max-replica-count=MAX_REPLICA_COUNT \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --min-replica-count=MIN_REPLICA_COUNT `
    --max-replica-count=MAX_REPLICA_COUNT `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --min-replica-count=MIN_REPLICA_COUNT ^
    --max-replica-count=MAX_REPLICA_COUNT ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • MIN_REPLICA_COUNT: numero minimo di repliche della macchina in cui verrà sempre eseguito il deployment dell'indice. Se specificato, il valore deve essere maggiore o uguale a 1.
  • MAX_REPLICA_COUNT: numero massimo di repliche della macchina in cui è possibile eseguire il deployment dell'indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:mutateDeployedIndex

Corpo JSON della richiesta:

{
"deployedIndex": {
  "id": "DEPLOYED_INDEX_ID",
  "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
  "displayName": "DEPLOYED_INDEX_NAME"
}
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
  "genericMetadata": {
    "createTime": "2020-10-19T17:53:16.502088Z",
    "updateTime": "2020-10-19T17:53:16.502088Z"
  },
  "deployedIndexId": "DEPLOYED_INDEX_ID"
}
}

Impostazioni del deployment che influiscono sulle prestazioni

Le seguenti impostazioni di deployment possono influire su latenza, disponibilità e costi quando si utilizza Vector Search. Queste indicazioni si applicano alla maggior parte dei casi. Tuttavia, ti consigliamo sempre di sperimentare le configurazioni per assicurarti che funzionino al tuo caso d'uso.

Impostazione Impatto sulle prestazioni
Tipo di macchina

La selezione dell'hardware prevede un'interazione diretta con la dimensione dello shard selezionata. A seconda delle scelte di shard specificate al momento della creazione dell'indice, ogni tipo di macchina offre un compromesso tra prestazioni e costi.

Fai riferimento alla pagina dei prezzi per determinare l'hardware disponibile e i prezzi. In generale, il rendimento aumenta nel seguente ordine:

  • Standard E2
  • Memoria alta E2
  • Standard N1
  • Standard N2D
Numero minimo di repliche

minReplicaCount riserva una capacità minima di disponibilità e latenza per garantire che il sistema non abbia problemi di avvio a freddo quando il traffico viene scalato rapidamente da livelli bassi.

Se hai carichi di lavoro che scendono a livelli bassi e poi aumentano rapidamente a livelli più elevati, valuta la possibilità di impostare minReplicaCount su un numero in grado di gestire i burst iniziali del traffico.

Numero massimo di repliche maxReplicaCount ti consente principalmente di controllare i costi di utilizzo. Puoi scegliere di evitare l'aumento dei costi oltre una determinata soglia, con il compromesso di consentire una maggiore latenza e ridurre la disponibilità.

Elenco IndexEndpoints

Per elencare le risorse IndexEndpoint e visualizzare le informazioni di eventuali istanze DeployedIndex associate, esegui questo codice:

gcloud

Nell'esempio seguente viene utilizzato il comando gcloud ai index-endpoints list.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints list \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints list `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints list ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
 "indexEndpoints": [
   {
     "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID",
     "displayName": "INDEX_ENDPOINT_DISPLAY_NAME",
     "deployedIndexes": [
       {
         "id": "DEPLOYED_INDEX_ID",
         "index": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID",
         "displayName": "DEPLOYED_INDEX_DISPLAY_NAME",
         "createTime": "2021-06-04T02:23:40.178286Z",
         "privateEndpoints": {
           "matchGrpcAddress": "GRPC_ADDRESS"
         },
         "indexSyncTime": "2022-01-13T04:22:00.151916Z",
         "automaticResources": {
           "minReplicaCount": 2,
           "maxReplicaCount": 10
         }
       }
     ],
     "etag": "AMEw9yP367UitPkLo-khZ1OQvqIK8Q0vLAzZVF7QjdZ5O3l7Zow-mzBo2l6xmiuuMljV",
     "createTime": "2021-03-17T04:47:28.460373Z",
     "updateTime": "2021-06-04T02:23:40.930513Z",
     "network": "VPC_NETWORK_NAME"
   }
 ]
}

Console

Utilizza queste istruzioni per visualizzare un elenco degli endpoint indice.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Nella parte superiore della pagina, seleziona la scheda Endpoint indice.
  3. Vengono visualizzati tutti gli endpoint indice esistenti.

Per maggiori informazioni, consulta la documentazione di riferimento per IndexEndpoint.

Annulla il deployment di un indice

Per annullare il deployment di un indice dall'endpoint, esegui questo codice:

gcloud

Nell'esempio seguente viene utilizzato il comando gcloud ai index-endpoints undeploy-index.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida sul formato.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex

Corpo JSON della richiesta:

{
 "deployed_index_id": "DEPLOYED_INDEX_ID"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
 "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UndeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-01-13T04:09:56.641107Z",
     "updateTime": "2022-01-13T04:09:56.641107Z"
   }
 }
}

Console

Utilizza queste istruzioni per annullare il deployment di un indice da un endpoint.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Viene visualizzato un elenco dei tuoi indici attivi.
  3. Seleziona l'indice di cui vuoi annullare il deployment. Si apre la pagina dei dettagli dell'indice.
  4. Nella sezione Indici di cui è stato eseguito il deployment, identifica la versione dell'indice di cui vuoi annullare il deployment.
  5. Fai clic sul menu opzioni che si trova nella stessa riga dell'indice e seleziona Annulla deployment.
  6. Si apre una schermata di conferma. Fai clic su Annulla deployment. Nota: l'annullamento del deployment può richiedere fino a 30 minuti.

Elimina un IndexEndpoint

Prima di eliminare un IndexEndpoint, devi undeploy di tutti gli indici di cui è stato eseguito il deployment nell'endpoint.

gcloud

Nell'esempio seguente viene utilizzato il comando gcloud ai index-endpoints delete.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente dal progetto.

Metodo HTTP e URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
 "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-01-13T04:36:19.142203Z",
     "updateTime": "2022-01-13T04:36:19.142203Z"
   }
 },
 "done": true,
 "response": {
   "@type": "type.googleapis.com/google.protobuf.Empty"
 }
}

Console

Utilizza queste istruzioni per eliminare un endpoint indice.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Nella parte superiore della pagina, seleziona la scheda Endpoint indice.
  3. Vengono visualizzati tutti gli endpoint indice esistenti.
  4. Fai clic sul menu opzioni che si trova nella stessa riga dell'indice che vuoi eliminare e seleziona Elimina.
  5. Si apre una schermata di conferma. Fai clic su Elimina. L'endpoint indice è stato eliminato.