É possível fazer as seguintes configurações opcionais para seu agente:
Definir os requisitos do pacote
Forneça o conjunto de pacotes necessários para a implantação do agente. O conjunto de pacotes pode ser uma lista de itens a serem instalados pelo pip ou o caminho para um arquivo que segue o formato de arquivo de requisitos.
Use as seguintes práticas recomendadas:
Fixe as versões do pacote para builds reproduzíveis. Pacotes comuns para acompanhar a inclusão: google-cloud-aiplatform,
cloudpickle, langchain, langchain-core,
langchain-google-vertexai e pydantic.
Minimize o número de dependências no seu agente. Isso reduz o número
de mudanças interruptivas ao atualizar as dependências e o agente.
Se o agente não tiver dependências, defina requirements como None:
requirements=None
Se o agente usar um modelo específico da estrutura, especifique a versão do SDK importada (como 1.112.0) ao desenvolver o agente.
Você pode incluir arquivos ou diretórios locais que contenham arquivos de origem Python
necessários localmente. Em comparação com os requisitos de pacote, isso permite usar utilitários particulares que você desenvolveu e que não estão disponíveis no PyPI ou no GitHub.
Se o agente não exigir outros pacotes, defina
extra_packages como None:
extra_packages=None
Você também pode fazer o seguinte com extra_packages:
Incluir um único arquivo (como agents/agent.py):
extra_packages=["agents/agent.py"]
Inclua o conjunto de arquivos em um diretório inteiro (por exemplo,
agents/):
extra_packages=["agents"]# directory that includes agents/agent.py
requirements=["google-cloud-aiplatform[agent_engines,adk]","cloudpickle==3.0","python_package.whl",# install from the whl file that was uploaded]extra_packages=["path/to/python_package.whl"]# bundle the whl file for uploading
Definir as variáveis de ambiente
Se houver variáveis de ambiente de que seu agente depende, especifique-as no argumento env_vars=. Se o agente não depender de nenhuma variável de ambiente, defina como None:
env_vars=None
Para especificar as variáveis de ambiente, há algumas opções disponíveis:
Você também precisa seguir as instruções em Configurar a identidade e as permissões do seu agente
para conceder ao agente a permissão de Acessador de secret do Secret Manager
(roles/secretmanager.secretAccessor).
Definir controles de recursos personalizados
É possível especificar controles de recursos de execução para o agente, como o número mínimo e máximo de instâncias de aplicativos, limites de recursos para cada contêiner e simultaneidade para cada contêiner.
min_instances: o número mínimo de instâncias de aplicativo que precisam
ficar em execução o tempo todo, com um intervalo de [0, 10]. O valor padrão é 1.
max_instances: o número máximo de instâncias de aplicativo que podem ser iniciadas para lidar com o aumento do tráfego, com um intervalo de [1, 1000].
O valor padrão é 100. Se o VPC-SC ou o PSC-I estiver ativado, o intervalo aceitável será [1, 100].
resource_limits: limites de recursos para cada contêiner. Somente as chaves cpu e memory são aceitas. O valor padrão
é {"cpu": "4", "memory": "4Gi"}.
Os únicos valores aceitos para cpu são 1, 2, 4, 6 e 8. Para mais informações, consulte
Configurar alocação de CPU.
Os únicos valores aceitos para memory são 1Gi, 2Gi, ...
32Gi.
container_concurrency: simultaneidade para cada contêiner e servidor
de agente. O valor recomendado é 2 * cpu + 1. O valor padrão é 9.
remote_agent=client.agent_engines.create(agent=local_agent,config={"min_instances":1,"max_instances":10,"resource_limits":{"cpu":"4","memory":"8Gi"},"container_concurrency":9,# ... other configs})
Definir opções de build
É possível especificar opções de build para o agente, como scripts de instalação a serem
executados ao criar a imagem do contêiner do agente. Isso é útil para instalar
dependências do sistema (por exemplo, gcloud cli, npx) ou
outras configurações personalizadas. Os scripts são executados com permissões de root.
Para usar scripts de instalação, crie um diretório chamado
installation_scripts e coloque seus scripts de shell dentro dele:
Os artefatos de staging são substituídos se corresponderem a uma pasta em um bucket do Cloud Storage.
Se necessário, especifique a pasta do Cloud Storage para os artefatos de
preparação. É possível definir gcs_dir_name como None se você
não se importar de substituir os arquivos na pasta padrão:
gcs_dir_name=None
Para evitar a substituição dos arquivos (como para diferentes ambientes, como
desenvolvimento, preparo e produção), configure a pasta correspondente
e especifique a pasta para preparar o artefato:
gcs_dir_name="dev"# or "staging" or "prod"
Se você quiser ou precisar evitar colisões, gere um uuid aleatório:
display_name="Currency Exchange Rate Agent (Staging)"description="""An agent that has access to tools for looking up the exchange rate.If you run into any issues, please contact the dev team."""
Para um conjunto completo de parâmetros, consulte a referência da API.
Configurar uma conta de serviço personalizada
É possível configurar uma conta de serviço personalizada como a identidade do seu agente implantado, em vez da identidade padrão.
Para fazer isso, especifique o e-mail da sua conta de serviço personalizada como o
service_account ao criar ou atualizar a instância do Agent Engine, por exemplo:
# Create a new instanceclient.agent_engines.create(agent=local_agent,config={"service_account":"my-custom-service-account@my-project.iam.gserviceaccount.com",# ...},)# Update an existing instanceresource_name="projects/{project_id}/locations/{location}/reasoningEngines/{reasoning_engine_id}"client.agent_engines.update(name=resource_name,agent=local_agent,config={"service_account":"my-new-custom-service-account@my-project.iam.gserviceaccount.com",# ...},)
NETWORK_ATTACHMENT é o nome ou caminho completo do
anexo de rede. Se o anexo de rede for criado em um projeto (como o projeto host da VPC compartilhada) diferente de onde você usa o Agent Engine, transmita o caminho completo do anexo de rede.
DOMAIN_SUFFIX é o nome DNS da zona privada do Cloud DNS que você criou ao configurar o peering de DNS particular.
TARGET_PROJECT é o projeto que hospeda a rede VPC.
TARGET_NETWORK é o nome da rede VPC.
É possível configurar vários agentes para usar um único anexo de rede compartilhada ou anexos de rede exclusivos e dedicados. Para usar um anexo de rede compartilhada, forneça o mesmo anexo de rede no psc_interface_config para cada agente criado.
Configurar chaves de criptografia gerenciadas pelo cliente
Para configurar a chave personalizada (CMEK) do seu agente, forneça
o nome do recurso da chave ao parâmetro encryption_spec ao
criar a instância do Agent Engine.
# The fully qualified key namekms_key_name="projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"remote_agent=client.agent_engines.create(agent=local_agent,config={"encryption_spec":{"kms_key_name":kms_key_name},# ... other parameters},)
Criar uma instância AgentEngine
Para implantar o agente na Vertex AI, use client.agent_engines.create para
transmitir o objeto local_agent junto com quaisquer configurações opcionais:
dependencies.tar.gz: um arquivo tar que contém pacotes extras.
O pacote é enviado para o Cloud Storage (na pasta correspondente) para preparar os artefatos.
Os URIs do Cloud Storage para os respectivos artefatos são especificados no
PackageSpec.
O serviço Vertex AI Agent Engine recebe a solicitação, cria contêineres e inicia servidores HTTP no back-end.
A latência da implantação depende do tempo total necessário para instalar
os pacotes necessários. Depois de implantado, remote_agent corresponde a uma instância de
local_agent que está em execução na Vertex AI e pode ser consultada ou
excluída. Ela é separada das instâncias locais do agente.
(Opcional) Conceder permissões ao agente implantado
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-13 UTC."],[],[]]