Esegui il deployment e gestisci gli endpoint indice pubblici

Per poter eseguire una query su un indice, sono necessari alcuni passaggi:

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

Crea un IndexEndpoint

gcloud

Prima di utilizzare qualsiasi dato di comando riportato di seguito, effettua le seguenti sostituzioni:

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

Esegui questo seguente 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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 un polling per conoscere lo stato dell'operazione finché la risposta non include "done": true.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, 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 Vector Search (Ricerca vettoriale).

    Vai a Vector Search

  2. Viene visualizzato un elenco degli 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. Si apre il riquadro Crea un nuovo endpoint indice.
  5. Inserisci un nome visualizzato per l'endpoint indice.
  6. Nel campo Regione, seleziona una regione dall'elenco a discesa.
  7. Nel campo Accesso, seleziona Standard.
  8. Fai clic su Crea.

esegui il deployment di un indice in un endpoint

gcloud

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

Prima di utilizzare qualsiasi dato di comando riportato 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo seguente 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, 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 in un endpoint.

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

    Vai a Vector Search

  2. Viene visualizzato un elenco degli 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.

Ottieni il nome di dominio dell'indice

Dopo il deployment dell'indice, è necessario che il nome di dominio possa 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, i nodi vengono aggiunti al pool di nodi, in modo da non superare la dimensione massima designata. Quando la domanda è bassa, il pool di nodi viene ridotto fino alla dimensione minima da te designata. Puoi verificare i nodi effettivamente 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 qualsiasi dato di comando riportato 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo seguente 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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 solo dalla console durante il deployment dell'indice.

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

    Vai a Vector Search

  2. Viene visualizzato un elenco degli 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 solo maxReplicaCount è impostato, minReplicaCount è impostato su 2 per impostazione predefinita.
  • Se viene impostato solo minReplicaCount, il criterio maxReplicaCount è impostato su uguale a 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 viene specificato nella richiesta, DeployedIndex continua a utilizzare il maxReplicaCount esistente.

gcloud

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

Prima di utilizzare qualsiasi dato di comando riportato 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo seguente 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 per il 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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 di deployment che influiscono sulle prestazioni

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

Impostazione Impatto sulle prestazioni
Tipo di macchina

La selezione dell'hardware ha un'interazione diretta con le dimensioni dello shard selezionate. A seconda delle scelte di shard specificate al momento della creazione dell'indice, ogni tipo di macchina offre un compromesso tra prestazioni e costo.

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

  • Standard E2
  • E2 - Highmem
  • 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 scala rapidamente da livelli bassi.

Se i tuoi carichi di lavoro scendono a livelli bassi per poi passare rapidamente ai livelli superiori, ti consigliamo di impostare minReplicaCount su un numero in grado di supportare le burst iniziali di 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 una riduzione della disponibilità.

Elenco IndexEndpoints

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

gcloud

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

Prima di utilizzare qualsiasi dato di comando riportato di seguito, effettua le seguenti sostituzioni:

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

Esegui questo seguente 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti 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 Vector Search (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 qualsiasi dato di comando riportato 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 per il formato.
  • LOCATION: la regione in cui stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui questo seguente 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 per il formato.
  • LOCATION: la regione in cui stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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 in un endpoint.

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

    Vai a Vector Search

  2. Viene visualizzato un elenco degli 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 qualsiasi dato di comando riportato di seguito, effettua le seguenti sostituzioni:

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

Esegui questo seguente 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 delle seguenti 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 Vector Search (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 da eliminare e seleziona Elimina.
  5. Si apre una schermata di conferma. Fai clic su Elimina. Il tuo endpoint indice è stato eliminato.