Vertex AI fournit l'API Extension qui peut enregistrer, gérer et exécuter des extensions. Vertex AI fournit également un ensemble d'extensions prédéfinies à partir de l'API Extension, y compris l'extension de l'interpréteur de code et l'extension Vertex AI Search.
Limites
L'API Extension n'est disponible que dans la région us-central1
.
Exemple de syntaxe
Syntaxe permettant de créer une ressource d'extension.
curl
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 )
Liste des paramètres
Corps de la requête
Paramètres | |
---|---|
|
Facultatif : Nom à afficher de l'extension présenté aux utilisateurs à partir de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères. |
|
Facultatif : Description de l'extension affichée auprès des utilisateurs de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo. |
Fichier manifeste de l'extension. |
|
Facultatif : Configuration d'exécution qui contrôle le comportement d'exécution de l'extension. Pour l'extension de l'interpréteur de code, le format est le suivant : "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Pour l'extension Vertex AI Search, le format est le suivant : "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
manifest
Fichier manifeste de l'extension.
Paramètres | |
---|---|
|
Nom de l'extension utilisé par le LLM pour le raisonnement. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères. |
|
Description en langage naturel de l'utilisation de l'extension. La description est présentée au LLM pour l'aider à effectuer son raisonnement. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo. |
Spécification d'API présentée au LLM à des fins de raisonnement. Vous devez fournir une description pertinente et informative. "apiSpec": { "openApiGcsUri": string } |
|
Type d'authentification pris en charge par cette extension. Une requête d'importation d'extension doit contenir une configuration d'authentification. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
apiSpec
Spécification d'API présentée au LLM à des fins de raisonnement.
Paramètres | |
---|---|
|
URI Cloud Storage du fichier YAML OpenAPI décrivant l'API d'extension, telle que |
authConfig
Type d'authentification compatible avec cette extension.
Paramètres | |
---|---|
|
Méthode d'authentification Valeurs autorisées : |
googleServiceAccountConfig
L'extension de l'interpréteur de code et l'extension Vertex AI Search ne sont compatibles qu'avec l'authentification des comptes de service Google, où Vertex AI utilise l'agent de service Vertex AI Extension pour accéder aux API.
Paramètres | |
---|---|
|
Facultatif : Compte de service sous lequel s'exécute l'extension. Si le compte de service est spécifié, l'autorisation |
runtimeConfig
L'objet runtimeConfig
contient des configurations supplémentaires utilisées lors de l'exécution de l'extension.
Extension de l'interpréteur de code
Paramètres | |
---|---|
|
Facultatif : Bucket Cloud Storage utilisé pour la saisie du fichier dans l'extension. L'agent de service de code personnalisé de l'extension Vertex doit disposer de l'autorisation |
|
Facultatif : Bucket Cloud Storage pour le résultat du fichier de l'extension. L'agent de service de code personnalisé de l'extension Vertex doit disposer de l'autorisation |
Extension Vertex AI Search
Paramètres | |
---|---|
|
Nom de la configuration de diffusion Vertex AI Search pour spécifier la ressource Vertex AI Search utilisée par l'extension. Format:
|
Exécuter l'extension
Paramètres | |
---|---|
|
ID sélectionné de l'opération à exécuter dans cette extension. |
|
Facultatif : Paramètres de requête utilisés pour exécuter cette opération. Le fichier JSON doit se présenter sous la forme d'un mappage avec le nom du paramètre en tant que clé et la valeur de paramètre réelle comme valeur. Par exemple, pour définir un paramètre appelé |
Examples
Importer une extension de l'interpréteur de code
Créez ou enregistrez une ressource d'extension.
Cet exemple montre comment importer une extension d'interpréteur de code.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- DISPLAY_NAME : nom à afficher de l'extension présenté aux utilisateurs à partir de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères.
- DESCRIPTION : description de l'extension affichée auprès des utilisateurs de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo.
- MANIFEST_NAME : nom de l'extension utilisée par le LLM pour le raisonnement. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères.
- MANIFEST_DESCRIPTION : description en langage naturel présentée au LLM. Elle doit décrire l'utilisation de l'extension et est essentielle pour que le LLM effectue le raisonnement. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo.
- GCS_URI : URI Cloud Storage du fichier YAML OpenAPI décrivant l'API d'extension.
- AUTH_TYPE : méthode d'authentification Valeurs autorisées :
GOOGLE_SERVICE_ACCOUNT_AUTH
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corps JSON de la requête :
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Importer avec une configuration d'environnement d'exécution
Créez ou enregistrez une ressource d'extension.
Cet exemple montre comment importer une extension Vertex AI Search en spécifiant RuntimeConfig
.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- DISPLAY_NAME : nom à afficher de l'extension présenté aux utilisateurs à partir de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères.
- DESCRIPTION : description de l'extension affichée auprès des utilisateurs de l'API et de l'interface utilisateur. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo.
- MANIFEST_NAME : nom de l'extension utilisée par le LLM pour le raisonnement. Il doit s'agir d'une chaîne UTF-8 comportant jusqu'à 128 caractères.
- MANIFEST_DESCRIPTION : description en langage naturel présentée au LLM. Elle doit décrire l'utilisation de l'extension et est essentielle pour que le LLM effectue le raisonnement. Il doit s'agir d'une chaîne UTF-8 d'une taille maximale de 1 Mo.
- GCS_URI : URI Cloud Storage du fichier YAML OpenAPI décrivant l'API d'extension.
- AUTH_TYPE : méthode d'authentification Valeurs autorisées :
GOOGLE_SERVICE_ACCOUNT_AUTH
- SERVING_CONFIG_NAME : nom de la configuration de diffusion Vertex AI Search permettant de spécifier la ressource Vertex AI Search utilisée par l'extension. Format :
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corps JSON de la requête :
{ "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, } } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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, } } )
Exécuter une extension
Pour exécuter une extension, appelez-la directement et indiquez les paramètres d'exécution dans la requête.
Cet exemple exécute l'extension de l'interpréteur de code generate_and_execute
pour obtenir la réponse à la requête find the max value in the list: [1,2,3,4,-5]
.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- EXTENSION_ID : ID de l'extension.
- OPERATION_ID : ID sélectionné de l'opération à exécuter dans cette extension.
- QUERY : paramètres de requête pour exécuter l'opération au format clé-valeur,
{"query": "What is Vertex AI?"}.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
Corps JSON de la requête :
{ "operation_id": "OPERATION_ID", "operation_params": { "query": "QUERY", } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Répertorier les extensions
Répertoriez les extensions d'un projet.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- EXTENSION_ID : ID de l'extension.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions"
PowerShell
Exécutez la commande suivante :
$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
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Obtenir une extension
Obtenez des informations sur une extension.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- EXTENSION_ID : ID de l'extension.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Mettre à jour une extension
Mettez à jour une extension.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- EXTENSION_ID : ID de l'extension.
- UPDATE_MASK : paramètre à mettre à jour. Valeurs acceptées,
displayName
,description
outoolUseExamples
.
Méthode HTTP et URL :
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
Corps JSON de la requête :
{ "description": "UPDATE_MASK", }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Supprimer l'extension
Supprimez une extension.
Cet exemple supprime l'extension associée à l'ID d'extension.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- EXTENSION_ID : ID de l'extension.
Méthode HTTP et URL :
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.