En esta guía, se muestra cómo crear e implementar un agente en Agent Runtime en Gemini Enterprise Agent Platform con Agent Identity habilitado.
Agent Identity asigna una identidad SPIFFE segura a tu agente implementado. El agente usa esta identidad para autenticarse en los Google Cloud servicios y recuperar credenciales del administrador de autenticación de Agent Identity.
Antes de comenzar
Habilita las APIs de Agent Identity, Agent Platform, Agent Registry y App Hub.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol Propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.Asegúrate de tener el rol Usuario de Agent Platform (
roles/aiplatform.user) en tu proyecto.
Crea e implementa el agente
Crea un agente de muestra con google-agents-cli y, luego, impleméntalo con Agent Identity:
Instala
uvy, luego, ejecuta la configuración degoogle-agents-cli:pip install uv uvx google-agents-cli setup
Crea un proyecto de agente con la plantilla de prototipo:
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
Reemplaza
AGENT_PROJECTpor el nombre del nuevo directorio del proyecto del agente (por ejemplo,maps-agent).Este comando genera la siguiente estructura de directorio del proyecto:
AGENT_PROJECT/ ├── app/ # Core agent code │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ └── app_utils/ # App utilities and helpers ├── tests/ # Unit and integration tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Cambia el nombre de la carpeta de la aplicación predeterminada (
app) para que coincida con el nombre del agente (AGENT_NAME, por ejemplo,maps_agent). Los nombres de los agentes deben ser un identificador de Python válido: deben comenzar con una letra y contener solo letras, números y guiones bajos.cd AGENT_PROJECT mv app AGENT_NAME
Actualiza el archivo de configuración
agent.pypara reflejar el nombre nuevo:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )Elige un modelo para usar, según su disponibilidad regional. Actualiza el valor de
MODELenagent.pypara que coincida con el modelo elegido.Solución alternativa para los modelos que solo están disponibles en la
globalregiónPara usar un modelo que solo está disponible en la
globalregión, debes modificaragent.pypara que tu agente pueda acceder a él.-
Agrega las siguientes importaciones:
from functools import cached_property from google.genai import Client
-
Agrega la siguiente subclase después de las importaciones:
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
Busca el siguiente código:
root_agent = Agent( name="root_agent", model=Gemini(
Cámbialo para hacer referencia a la subclase nueva:
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Para habilitar Agent Identity, crea un archivo de configuración:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Crea un archivo
requirements.txtpara las dependencias de implementación:uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
Verifica la estructura del directorio del proyecto:
AGENT_PROJECT/ ├── AGENT_NAME/ # Agent application folder │ ├── .agent_engine_config.json # Agent Identity configuration │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ ├── requirements.txt # Deployment dependencies │ └── app_utils/ # App helpers ├── tests/ # Tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Prueba tu agente de forma local:
uv run adk web . --port 8501 --reload_agents
Para validar tu agente, haz lo siguiente:
Ve a
http://localhost:8501. Como alternativa, si usas Cloud Shell, haz clic en el vínculo que proporciona el resultado del servidor web.En la interfaz de chat, envía una instrucción de prueba para verificar la respuesta.
Finaliza el servidor con
CTRL+C.Implementa tu agente en Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Reemplaza lo siguiente:
PROJECT_ID: Tu Google Cloud proyecto ID.LOCATION: La región admitida en la que deseas implementar el agente (por ejemplo,us-west1).
La implementación puede tardar unos minutos en completarse. Una vez que finaliza, la CLI genera un mensaje de confirmación y un vínculo al entorno de pruebas de tu agente en la Google Cloud consola.
Recupera el ID de SPIFFE de tu agente (Agent Identity):
En la Google Cloud consola, ve a la página Implementaciones.
Para copiar el ID de SPIFFE de tu agente al portapapeles, busca la fila en la que se encuentra el agente implementado y, en la columna Identidad de esa fila, haz clic en Copiar al portapapeles. La identidad se ve similar a la siguiente:
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
¿Qué sigue?
- Descripción general de Agent Identity
- Descripción general del administrador de autenticación de Agent Identity
- Autenticación con OAuth de 3 segmentos con el administrador de autenticación
- Autenticación con OAuth de 2 segmentos con el administrador de autenticación
- Autenticación con clave de API con el administrador de autenticación
- Administra proveedores de autenticación de Agent Identity