Vertex AI fornisce l'API Extensions per registrare, gestire ed eseguire estensioni. Vertex AI fornisce inoltre un set di estensioni predefinite dall'API Extension, tra cui l'estensione Interprete di codice e l'estensione Vertex AI Search.
Limitazioni
L'API Extension è disponibile solo nella regione us-central1
.
Sintassi di esempio
Sintassi per creare una risorsa dell'estensione.
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/extensions:import \ -d '{ "displayName": "...", "description": "...", "manifest": { ... "apiSpec": { ... }, "authConfig": { ... } ... } }'
Python
from vertexai.preview import extensions extensions.Extension.create( manifest: Union[JsonDict, ExtensionManifest], display_name: Optional[str] = None, description: Optional[str] = None, runtime_config: Optional[Union[JsonDict, RuntimeConfig]] = None )
Elenco parametri
Corpo della richiesta
Parametri | |
---|---|
|
Facoltativo: Il nome visualizzato dell'estensione che viene mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 128 caratteri. |
|
Facoltativo: La descrizione dell'estensione mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 1 MB. |
Il file manifest dell'estensione. |
|
Facoltativo: La configurazione di runtime che controlla il comportamento di runtime dell'estensione. Per l'estensione Interprete di codice, il formato è il seguente: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Per l'estensione Vertex AI Search, il formato è il seguente: "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
manifest
Il file manifest dell'estensione.
Parametri | |
---|---|
|
Il nome dell'estensione utilizzata dall'LLM per il ragionamento. Deve essere una stringa UTF-8 di massimo 128 caratteri. |
|
La descrizione in linguaggio naturale dell'utilizzo dell'estensione. La descrizione viene mostrata all'LLM per aiutarlo a ragionare.Deve essere una stringa UTF-8 di massimo 1 MB. |
La specifica API mostrata all'LLM per ragionamento. Devi fornire una descrizione significativa e informativa. "apiSpec": { "openApiGcsUri": string } |
|
Il tipo di autenticazione supportato da questa estensione. Una richiesta di importazione di estensioni deve contenere una configurazione di autenticazione. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
apiSpec
La specifica API mostrata all'LLM per ragionamento.
Parametri | |
---|---|
|
URI Cloud Storage del file YAML OpenAPI che descrive l'API dell'estensione, ad esempio |
authConfig
Il tipo di autenticazione supportato da questa estensione.
Parametri | |
---|---|
|
Metodo di autenticazione. Valori supportati: |
googleServiceAccountConfig
L'estensione Interprete di codice e l'estensione Vertex AI Search supportano solo l'autenticazione dell'account di servizio Google, in cui Vertex AI utilizza l'agente di servizio dell'estensione Vertex AI per accedere alle API.
Parametri | |
---|---|
|
Facoltativo: L'account di servizio utilizzato per l'esecuzione dell'estensione. Se l'account di servizio è specificato, l'autorizzazione |
runtimeConfig
L'oggetto runtimeConfig
contiene configurazioni aggiuntive utilizzate durante l'esecuzione dell'estensione.
Estensione Interprete di codice
Parametri | |
---|---|
|
Facoltativo: Il bucket Cloud Storage per l'input del file nell'estensione. All'agente di servizio del codice personalizzato Vertex Extension deve essere concessa l'autorizzazione |
|
Facoltativo: Il bucket Cloud Storage per l'output del file dall'estensione. All'agente di servizio del codice personalizzato Vertex Extension deve essere concessa l'autorizzazione |
Estensione Vertex AI Search
Parametri | |
---|---|
|
Nome della configurazione di gestione di Vertex AI Search per specificare la risorsa Vertex AI Search utilizzata dall'estensione. Formato:
|
Esegui estensione
Parametri | |
---|---|
|
L'ID selezionato dell'operazione da eseguire in questa estensione. |
|
Facoltativo: Parametri della richiesta utilizzati per l'esecuzione di questa operazione. Il JSON deve essere sotto forma di mappa con nome del parametro come chiave e valore effettivo del parametro come valore. Ad esempio, per impostare un parametro chiamato |
Esempi
Importa un'estensione per interprete di codice
Crea o registra una risorsa di estensione.
Questo esempio mostra come importare un'estensione Interprete di codice.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- DISPLAY_NAME: il nome visualizzato dell'estensione che viene mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 128 caratteri.
- DESCRIPTION: la descrizione dell'estensione mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 1 MB.
- MANIFEST_NAME: il nome dell'estensione utilizzata dall'LLM per il ragionamento. Deve essere una stringa UTF-8 di massimo 128 caratteri
- MANIFEST_DESCRIPTION: la descrizione in linguaggio naturale mostrata all'LLM. Deve descrivere l'utilizzo dell'estensione ed è essenziale affinché l'LLM esegua il ragionamento. Deve essere una stringa UTF-8 di massimo 1 MB.
- GCS_URI: URI Cloud Storage del file YAML OpenAPI che descrive l'API dell'estensione.
- AUTH_TYPE: metodo di autenticazione. Valori supportati:
GOOGLE_SERVICE_ACCOUNT_AUTH
.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import" | Select-Object -Expand Content
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.
Importa con una configurazione di runtime
Crea o registra una risorsa di estensione.
Questo esempio mostra come importare un'estensione Vertex AI Search specificando RuntimeConfig
.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- DISPLAY_NAME: il nome visualizzato dell'estensione che viene mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 128 caratteri.
- DESCRIPTION: la descrizione dell'estensione mostrata agli utenti dall'API e dall'interfaccia utente. Deve essere una stringa UTF-8 di massimo 1 MB.
- MANIFEST_NAME: il nome dell'estensione utilizzata dall'LLM per il ragionamento. Deve essere una stringa UTF-8 di massimo 128 caratteri
- MANIFEST_DESCRIPTION: la descrizione in linguaggio naturale mostrata all'LLM. Deve descrivere l'utilizzo dell'estensione ed è essenziale affinché l'LLM esegua il ragionamento. Deve essere una stringa UTF-8 di massimo 1 MB.
- GCS_URI: URI Cloud Storage del file YAML OpenAPI che descrive l'API dell'estensione.
- AUTH_TYPE: metodo di autenticazione. Valori supportati:
GOOGLE_SERVICE_ACCOUNT_AUTH
. - SERVING_CONFIG_NAME: nome della configurazione di gestione di Vertex AI Search per specificare la risorsa Vertex AI Search utilizzata dall'estensione. Formato:
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} }, runtime_config={ "vertex_ai_search_runtime_config": { "serving_config_name": SERVING_CONFIG_NAME, } } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import" | Select-Object -Expand Content
Python
import vertexai from vertexai.preview import extensions vertexai.init(project=PROJECT_ID, location=LOCATION) extension_vertex_ai_search = extensions.Extension.create( display_name = "vertex_ai_search", description = "This extension search from provided datastore", manifest = { "name": "vertex_ai_search", "description": "Google Vertex AI Search Extension", "api_spec": { "open_api_gcs_uri": "gs://vertex-extension-public/vertex_ai_search.yaml" }, "auth_config": { "google_service_account_config": {}, "auth_type": "GOOGLE_SERVICE_ACCOUNT_AUTH", }, }, runtime_config={ "vertex_ai_search_runtime_config": { "serving_config_name": SERVING_CONFIG_NAME, } } )
Eseguire un'estensione
Per eseguire un'estensione, chiamala direttamente e fornisci i parametri di esecuzione nella richiesta.
In questo esempio viene eseguita l'estensione per interprete di codice generate_and_execute
per ottenere la risposta alla query find the max value in the list: [1,2,3,4,-5]
.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- EXTENSION_ID: l'ID dell'estensione.
- OPERATION_ID: l'ID selezionato dell'operazione da eseguire in questa estensione.
- QUERY: i parametri della richiesta per eseguire l'operazione in un formato chiave-valore,
{"query": "What is Vertex AI?"}.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
Corpo JSON della richiesta:
{ "operation_id": "OPERATION_ID", "operation_params": { "query": "QUERY", } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute" | Select-Object -Expand Content
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.
Elenco estensioni
Elencare le estensioni in un progetto.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- EXTENSION_ID: l'ID dell'estensione.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions" | Select-Object -Expand Content
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.
Ottieni un'estensione
Visualizzare i dettagli di un'estensione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- EXTENSION_ID: l'ID dell'estensione.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID" | Select-Object -Expand Content
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.
Aggiornare un'estensione
Aggiorna un'estensione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- EXTENSION_ID: l'ID dell'estensione.
- UPDATE_MASK: il parametro da aggiornare. Valori accettati,
displayName
,description
otoolUseExamples
.
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
Corpo JSON della richiesta:
{ "description": "UPDATE_MASK", }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK""
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"" | Select-Object -Expand Content
Elimina estensione
Eliminare un'estensione.
Questo esempio elimina l'estensione associata all'ID estensione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- EXTENSION_ID: l'ID dell'estensione.
Metodo HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID" | Select-Object -Expand Content
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.