Esegui il deployment e gestisci gli endpoint indice pubblici

Prima di poter eseguire query su un indice, devi completare alcuni passaggi:

  1. Crea un IndexEndpoint se necessario o riutilizza un IndexEndpoint esistente.
  2. Recupera 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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.

Esegui la persone che seguo :

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, apporta 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 del progetto generato automaticamente.

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 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 ulteriori informazioni, consulta 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

Segui queste istruzioni per creare un endpoint indice.

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

    Vai a Ricerca vettoriale

  2. Viene visualizzato un elenco degli indici attivi.
  3. Nella parte superiore della pagina, seleziona la scheda Endpoint dell'indice. Gli endpoint indice sono 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 dal menu a discesa.
  7. Nel campo Accesso, seleziona Standard.
  8. Fai clic su Crea.

Eseguire 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 i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 dell'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 il 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, apporta le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 dell'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 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 ulteriori informazioni, consulta 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

Segui queste istruzioni per eseguire il deployment dell'indice in un endpoint.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Esegui il deployment e utilizza. Seleziona Ricerca vettoriale.

    Vai a Ricerca vettoriale

  2. Viene visualizzato un elenco degli indici attivi.
  3. Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Viene visualizzata la pagina dei dettagli dell'indice.
  4. Dalla pagina dei dettagli dell'indice, fai clic su . Deployment su 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 memoria elevata.
  8. Facoltativo. Seleziona Abilita scalabilità automatica per ridimensionare automaticamente 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, devi avere il nome di dominio per poter utilizzare l'indice 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

Ricerca di vettori supporta la scalabilità automatica, che può ridimensionare automaticamente il numero di nodi in base alle esigenze dei carichi di lavoro. Quando la domanda è elevata, vengono aggiunti nodi al pool di nodi, che non supereranno la dimensione massima che hai specificato. Quando la domanda è bassa, il pool di nodi viene scalato tornare alla dimensione minima da te definita. Puoi controllare i nodi effettivi in uso e le modifiche monitorando le repliche attuali.

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

gcloud

L'esempio seguente utilizza il comando gcloud ai index-endpoints deploy-index.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 il 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, apporta le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 stai utilizzando Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • PROJECT_NUMBER: il numero del progetto generato automaticamente.

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 solo dalla console durante il deployment dell'indice.

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

    Vai a Ricerca vettoriale

  2. Viene visualizzato un elenco degli indici attivi.
  3. Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Viene visualizzata la pagina dei dettagli dell'indice.
  4. Dalla pagina dei dettagli dell'indice, fai clic su . Deployment su 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 memoria elevata.
  8. Facoltativo. Seleziona Abilita scalabilità automatica per ridimensionare automaticamente di nodi in base alle esigenze dei tuoi carichi di lavoro. Il numero predefinito di repliche è 2 se la scalabilità automatica è disabilitata.
  • Se non vengono impostati né minReplicaCountmaxReplicaCount, per impostazione predefinita vengono impostati su 2.
  • Se è impostato solo maxReplicaCount, minReplicaCount viene impostato su 2 per impostazione predefinita.
  • Se viene impostato solo minReplicaCount, il criterio maxReplicaCount è impostato su uguale minReplicaCount.

Mutare un DeployedIndex

Puoi utilizzare l'API MutateDeployedIndex per aggiornare le risorse di deployment (ad esempio minReplicaCount e maxReplicaCount) di un indice già di cui è 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 l'elemento 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 dell'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 la persone che seguo :

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, apporta le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 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 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 di deployment che influiscono sul rendimento

Le seguenti impostazioni di deployment possono influire su latenza, disponibilità e costo quando utilizzi la ricerca vettoriale. 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 del frammento selezionate. A seconda delle scelte di shard specificate al momento della creazione dell'indice, ogni tipo di macchina offre un compromesso tra prestazioni e costi.

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

  • Standard E2
  • E2 - MEMORIA
  • Standard N1
  • Standard N2D
Numero minimo di repliche

minReplicaCount riserva una capacità minima per e latenza per garantire che il sistema non abbia problemi quando il traffico aumenta rapidamente da livelli bassi.

Se hai carichi di lavoro che scendono a livelli bassi per poi aumentare rapidamente a livelli superiori, valuta la possibilità di impostare minReplicaCount su un in grado di supportare i burst iniziali di traffico.

Numero massimo di repliche maxReplicaCount ti consente principalmente di controllare il costo di utilizzo. Puoi scegliere di impedire l'aumento dei costi oltre una determinata soglia, con il compromesso di consentire un aumento della latenza e una riduzione della disponibilità.

Elenco IndexEndpoints

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

gcloud

L'esempio seguente utilizza il comando gcloud ai index-endpoints list.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

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

Esegui il 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, apporta 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 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 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 Esegui il deployment e utilizza. Seleziona Vector Search (Ricerca vettoriale).

    Vai a Ricerca vettoriale

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

Per ulteriori informazioni, consulta la documentazione di riferimento per IndexEndpoint

Annulla il deployment di un indice

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

gcloud

L'esempio seguente utilizza 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 dell'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 il 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, apporta le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 del progetto generato automaticamente.

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

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

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

    Vai a Ricerca vettoriale

  2. Viene visualizzato un elenco degli indici attivi.
  3. Seleziona l'indice di cui vuoi annullare il deployment. Viene visualizzata 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 sulle opzioni che si trova nella stessa riga dell'indice e seleziona Annulla deployment.
  6. Si apre una schermata di conferma. Fai clic su Annulla il deployment. Nota: il rollback può richiedere fino a 30 minuti.

Eliminare un IndexEndpoint

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

gcloud

L'esempio seguente utilizza il comando gcloud ai index-endpoints delete.

Prima di utilizzare i dati dei comandi riportati 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 la persone che seguo :

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, apporta le seguenti sostituzioni:

  • INDEX_ENDPOINT_ID: l'ID dell'endpoint 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 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 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

Segui queste istruzioni per eliminare un endpoint indice.

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

    Vai a Ricerca vettoriale

  2. Nella parte superiore della pagina, seleziona la scheda Endpoint dell'indice.
  3. Vengono visualizzati tutti gli endpoint indice esistenti.
  4. Fai clic sulle 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.