Vertex AI proporciona la API de Extension que puede registrar, administrar y ejecutar extensiones. Vertex AI también proporciona un conjunto de extensiones compiladas previamente de la API de Extension, incluidas la extensión de intérprete de código y la extensión de Vertex AI Search.
Limitaciones
La API de Extension solo está disponible en la región us-central1
.
Ejemplo de sintaxis
Sintaxis para crear un recurso de extensión.
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 )
Lista de parámetros
Cuerpo de la solicitud
Parámetros | |
---|---|
|
Opcional: El nombre visible de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 128 caracteres. |
|
Opcional: La descripción de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 1 MB. |
Es el manifiesto de la extensión. |
|
Opcional: La configuración del entorno de ejecución que controla el comportamiento del entorno de ejecución de la extensión. Para la extensión del intérprete de código, el formato es el siguiente: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Para la extensión de Vertex AI Search, el formato es el siguiente: "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
manifest
Es el manifiesto de la extensión.
Parámetros | |
---|---|
|
El nombre de la extensión que usa el LLL para razonar. Debe ser una cadena UTF-8 de hasta 128 caracteres. |
|
La descripción en lenguaje natural del uso de la extensión. La descripción se muestra al LLM para ayudarlo a realizar el razonamiento.Debe ser una cadena UTF-8 de hasta 1 MB. |
La especificación de la API que se muestra al LLM para razonar. Debes proporcionar una descripción informativa y significativa. "apiSpec": { "openApiGcsUri": string } |
|
Tipo de autenticación que admite esta extensión. Una solicitud de importación de extensión debe contener una configuración de autenticación. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
apiSpec
La especificación de la API que se muestra al LLM para razonar.
Parámetros | |
---|---|
|
URI de Cloud Storage del archivo YAML de OpenAPI que describe la API de la extensión, como |
authConfig
Es el tipo de autenticación que admite esta extensión.
Parámetros | |
---|---|
|
Método de autenticación Valores admitidos: |
googleServiceAccountConfig
La extensión de intérprete de código y la extensión de Vertex AI Search solo admiten la autenticación de la cuenta de servicio de Google, en la que Vertex AI usa el agente de servicio de extensión de Vertex AI para acceder a las APIs.
Parámetros | |
---|---|
|
Opcional: La cuenta de servicio con la que se realiza la ejecución de la extensión. Si se especifica la cuenta de servicio, se debe otorgar el permiso |
runtimeConfig
El objeto runtimeConfig
contiene configuraciones adicionales que se usan cuando se ejecuta la
extensión.
Extensión del intérprete de código
Parámetros | |
---|---|
|
Opcional: Es el bucket de Cloud Storage para la entrada de archivos a la extensión. El agente de servicio del código personalizado de la extensión de Vertex debe tener el permiso |
|
Opcional: Es el bucket de Cloud Storage para el archivo de salida de la extensión. El agente de servicio del código personalizado de la extensión de Vertex debe tener el permiso |
Extensión de Vertex AI Search
Parámetros | |
---|---|
|
Es el nombre de la configuración de publicación de Vertex AI Search para especificar qué recurso de Vertex AI Search usa la extensión. Formato:
|
Ejecuta la extensión
Parámetros | |
---|---|
|
El ID seleccionado de la operación que se ejecutará en esta extensión |
|
Opcional: Los parámetros de solicitud que se usan para ejecutar esta operación. El JSON debe tener la forma de un mapa con el nombre del parámetro como clave y el valor del parámetro real como valor. Por ejemplo, para establecer un parámetro llamado |
Ejemplos
Importa una extensión del intérprete de código
Crea o registra un recurso de extensión.
En este ejemplo, se muestra cómo importar una extensión del intérprete de código.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- DISPLAY_NAME: El nombre visible de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 128 caracteres.
- DESCRIPTION: La descripción de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 1 MB.
- MANIFEST_NAME: El nombre de la extensión que usa el LLL para razonar. Debe ser una cadena UTF-8 de hasta 128 caracteres.
- MANIFEST_DESCRIPTION: La descripción en lenguaje natural que se muestra al LLM. Debería describir el uso de la extensión y es esencial que el LLM realice el razonamiento. Debe ser una cadena UTF-8 de hasta 1 MB.
- GCS_URI: Es el URI de Cloud Storage del archivo YAML de OpenAPI que describe la API de la extensión.
- AUTH_TYPE: Método de autenticación Valores admitidos:
GOOGLE_SERVICE_ACCOUNT_AUTH
.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Cuerpo JSON de la solicitud:
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Importa con una configuración del entorno de ejecución
Crea o registra un recurso de extensión.
En este ejemplo, se muestra cómo importar una extensión de Vertex AI Search especificando
RuntimeConfig
.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- DISPLAY_NAME: El nombre visible de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 128 caracteres.
- DESCRIPTION: La descripción de la extensión que se muestra a los usuarios desde la API y la IU. Debe ser una cadena UTF-8 de hasta 1 MB.
- MANIFEST_NAME: El nombre de la extensión que usa el LLL para razonar. Debe ser una cadena UTF-8 de hasta 128 caracteres.
- MANIFEST_DESCRIPTION: La descripción en lenguaje natural que se muestra al LLM. Debería describir el uso de la extensión y es esencial que el LLM realice el razonamiento. Debe ser una cadena UTF-8 de hasta 1 MB.
- GCS_URI: Es el URI de Cloud Storage del archivo YAML de OpenAPI que describe la API de la extensión.
- AUTH_TYPE: Método de autenticación Valores admitidos:
GOOGLE_SERVICE_ACCOUNT_AUTH
. - SERVING_CONFIG_NAME: Es el nombre de la configuración de publicación de Vertex AI Search para especificar qué recurso de Vertex AI Search usa la extensión. Formato:
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Cuerpo JSON de la solicitud:
{ "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, } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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, } } )
Ejecuta una extensión
Para ejecutar una extensión, llámala directamente y proporciona los parámetros de ejecución en la solicitud.
En este ejemplo, se ejecuta la extensión del intérprete de código generate_and_execute
para
obtener la respuesta de la consulta find the max value in the list: [1,2,3,4,-5]
.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- EXTENSION_ID: Es el ID de la extensión.
- OPERATION_ID: El ID seleccionado de la operación que se ejecutará en esta extensión
- QUERY: Son los parámetros de solicitud para ejecutar la operación en un formato de par clave-valor,
{"query": "What is Vertex AI?"}.
.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
Cuerpo JSON de la solicitud:
{ "operation_id": "OPERATION_ID", "operation_params": { "query": "QUERY", } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Haz una lista de extensiones
Muestra una lista de las extensiones de un proyecto.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- EXTENSION_ID: Es el ID de la extensión.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Cómo obtener una extensión
Obtén detalles de una extensión.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- EXTENSION_ID: Es el ID de la extensión.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Actualiza una extensión
Actualiza una extensión.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- EXTENSION_ID: Es el ID de la extensión.
- UPDATE_MASK: Es el parámetro que se actualizará. Valores
aceptados:
displayName
,description
, otoolUseExamples
Método HTTP y URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
Cuerpo JSON de la solicitud:
{ "description": "UPDATE_MASK", }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Borra la extensión
Borrar una extensión
En este ejemplo, se borra la extensión asociada al ID de extensión.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- EXTENSION_ID: Es el ID de la extensión.
Método HTTP y URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.