A Vertex AI fornece a API Extensions que pode registar, gerir e executar extensões. O Vertex AI também oferece um conjunto de extensões pré-criadas da API Extensions, incluindo a extensão do intérprete de código e a extensão do Vertex AI Search.
Limitações
A API Extension só está disponível na região us-central1
.
Sintaxe de exemplo
Sintaxe para criar um recurso de extensão.
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
Corpo do pedido
Parâmetros | |
---|---|
|
Opcional: O nome a apresentar da extensão apresentado aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 com um máximo de 128 carateres. |
|
Opcional: A descrição da extensão apresentada aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 até 1 MB. |
O manifesto da extensão. |
|
Opcional: A configuração de tempo de execução que controla o comportamento de tempo de execução da extensão. Para a extensão do intérprete de código, o formato é o seguinte: "runtimeConfig": { "codeInterpreterRuntimeConfig": { "fileInputGcsBucket": string, "fileOutputGcsBucket": string } } Para a extensão Vertex AI Search, o formato é o seguinte: "runtimeConfig": { "vertexAiSearchRuntimeConfig": { "servingConfigName": string, } } |
manifest
O manifesto da extensão.
Parâmetros | |
---|---|
|
O nome da extensão que é usada pelo MDG para o raciocínio. Esta deve ser uma string UTF-8 com um máximo de 128 carateres. |
|
A descrição em linguagem natural da utilização da extensão. A descrição é apresentada ao MDI/CE para o ajudar a raciocinar.Deve ser uma string UTF-8 até 1 MB. |
A especificação da API apresentada ao MDG para raciocínio. Deve fornecer uma descrição significativa e informativa. "apiSpec": { "openApiGcsUri": string } |
|
O tipo de autenticação suportado por esta extensão. Um pedido de importação de extensões tem de conter uma configuração de autenticação. "authConfig": { "authType": "GOOGLE_SERVICE_ACCOUNT_AUTH", "googleServiceAccountConfig": { "serviceAccount": string }, } |
apiSpec
A especificação da API apresentada ao MDG para raciocínio.
Parâmetros | |
---|---|
|
URI do Cloud Storage do ficheiro YAML da OpenAPI que descreve a API de extensão, como |
authConfig
O tipo de autenticação suportado por esta extensão.
Parâmetros | |
---|---|
|
Método de autenticação. Valores suportados: |
googleServiceAccountConfig
A extensão do intérprete de código e a extensão do Vertex AI Search só suportam a autenticação da conta de serviço Google, em que o Vertex AI usa o agente de serviço de extensão do Vertex AI para aceder às APIs.
Parâmetros | |
---|---|
|
Opcional: A conta de serviço na qual a execução da extensão é executada. Se a conta de serviço for especificada, a autorização |
runtimeConfig
O objeto runtimeConfig
contém configurações adicionais usadas quando executa a extensão.
Extensão do intérprete de código
Parâmetros | |
---|---|
|
Opcional: O contentor do Cloud Storage para a entrada de ficheiros na extensão. Deve ser concedida a autorização |
|
Opcional: O contentor do Cloud Storage para a saída de ficheiros da extensão. Deve ser concedida a autorização |
Extensão do Vertex AI Search
Parâmetros | |
---|---|
|
Nome da configuração de publicação do Vertex AI Search para especificar que recurso do Vertex AI Search a extensão usa. Formato:
|
Executar extensão
Parâmetros | |
---|---|
|
O ID selecionado da operação a ser executada nesta extensão. |
|
Opcional: Parâmetros de pedido que são usados para executar esta operação. O JSON deve estar no formato de um mapa com o nome do parâmetro como chave e o valor do parâmetro real como valor. Por exemplo, para definir um parâmetro denominado |
Exemplos
Importe uma extensão do interpretador de código
Crie ou registe um recurso de extensão.
Este exemplo mostra como importar uma extensão do intérprete de código.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o seu ID do projeto.
- LOCATION: a região para processar o pedido.
- DISPLAY_NAME: o nome a apresentar da extensão que é apresentado aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 com um máximo de 128 carateres.
- DESCRIPTION: a descrição da extensão apresentada aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 até 1 MB.
- MANIFEST_NAME: o nome da extensão que é usada pelo GML para raciocínio. Esta deve ser uma string UTF-8 com um máximo de 128 carateres
- MANIFEST_DESCRIPTION: a descrição em linguagem natural apresentada ao GML. Deve descrever a utilização da extensão e é essencial para o MDG realizar o raciocínio. Esta deve ser uma string UTF-8 até 1 MB.
- GCS_URI: URI do Cloud Storage do ficheiro YAML OpenAPI que descreve a API de extensão.
- AUTH_TYPE: Método de autenticação. Valores suportados:
GOOGLE_SERVICE_ACCOUNT_AUTH
.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corpo JSON do pedido:
{ "displayName": "DISPLAY_NAME", "description": "DESCRIPTION", "manifest": { "name": "NAME", "description": "MANIFEST_DESCRIPTION", "apiSpec": { "openApiGcsUri": "GCS_URI", }, "authConfig": { "authType": "AUTH_TYPE", "googleServiceAccountConfig": {} } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Importe com uma configuração de tempo de execução
Crie ou registe um recurso de extensão.
Este exemplo mostra como importar uma extensão do Vertex AI Search especificando RuntimeConfig
.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- DISPLAY_NAME: o nome a apresentar da extensão que é apresentado aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 com um máximo de 128 carateres.
- DESCRIPTION: a descrição da extensão apresentada aos utilizadores a partir da API e da IU. Esta deve ser uma string UTF-8 até 1 MB.
- MANIFEST_NAME: o nome da extensão que é usada pelo GML para raciocínio. Esta deve ser uma string UTF-8 com um máximo de 128 carateres
- MANIFEST_DESCRIPTION: a descrição em linguagem natural apresentada ao GML. Deve descrever a utilização da extensão e é essencial para o MDG realizar o raciocínio. Esta deve ser uma string UTF-8 até 1 MB.
- GCS_URI: URI do Cloud Storage do ficheiro YAML OpenAPI que descreve a API de extensão.
- AUTH_TYPE: Método de autenticação. Valores suportados:
GOOGLE_SERVICE_ACCOUNT_AUTH
. - SERVING_CONFIG_NAME: nome da configuração de publicação do Vertex AI Search para especificar que recurso do Vertex AI Search a extensão usa. Formato:
projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions:import
Corpo JSON do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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, } } )
Execute uma extensão
Para executar uma extensão, chame diretamente a extensão e faculte os parâmetros de execução no pedido.
Este exemplo executa a extensão do interpretador de código generate_and_execute
para obter a resposta à consulta find the max value in the list: [1,2,3,4,-5]
.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- EXTENSION_ID: o ID da extensão.
- OPERATION_ID: o ID selecionado da operação a executar nesta extensão.
- QUERY: os parâmetros de pedido para executar a operação num formato de chave-valor,
{"query": "What is Vertex AI?"}.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID:execute
Corpo JSON do pedido:
{ "operation_id": "OPERATION_ID", "operation_params": { "query": "QUERY", } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Apresentar extensões
Apresenta extensões num projeto.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- EXTENSION_ID: o ID da extensão.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte 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
Execute o seguinte 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
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Obtenha uma extensão
Obtenha detalhes de uma extensão.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- EXTENSION_ID: o ID da extensão.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte 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
Execute o seguinte 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
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Atualize uma extensão
Atualize uma extensão.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- EXTENSION_ID: o ID da extensão.
- UPDATE_MASK: o parâmetro a atualizar. Valores aceites:
displayName
,description
outoolUseExamples
.
Método HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID?update_mask="UPDATE_MASK"
Corpo JSON do pedido:
{ "description": "UPDATE_MASK", }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Eliminar extensão
Elimine uma extensão.
Este exemplo elimina a extensão associada ao ID da extensão.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: .
- LOCATION: a região para processar o pedido.
- EXTENSION_ID: o ID da extensão.
Método HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/extensions/EXTENSION_ID
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte 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
Execute o seguinte 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
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.