Construye un agente con streaming usando Python¶
Con esta guía rápida, aprenderás a crear un agente simple y usar ADK Streaming para habilitar la comunicación de voz y video con él, que es de baja latencia y bidireccional. Instalaremos ADK, configuraremos un agente básico de "Google Search", probaremos ejecutar el agente con Streaming con la herramienta adk web, y luego explicaremos cómo construir una aplicación web asíncrona simple por ti mismo usando ADK Streaming y FastAPI.
Nota: Esta guía asume que tienes experiencia usando una terminal en entornos Windows, Mac y Linux.
Modelos compatibles para streaming de voz/video¶
Para usar streaming de voz/video en ADK, necesitarás usar modelos de Gemini que soporten la API Live. Puedes encontrar los ID(s) de modelo que soportan la API Live de Gemini en la documentación:
1. Configurar el Entorno e Instalar ADK¶
Crear y Activar un Entorno Virtual (Recomendado):
# Crear
python -m venv .venv
# Activar (cada nueva terminal)
# macOS/Linux: source .venv/bin/activate
# Windows CMD: .venv\Scripts\activate.bat
# Windows PowerShell: .venv\Scripts\Activate.ps1
Instalar ADK:
2. Estructura del Proyecto¶
Crea la siguiente estructura de carpetas con archivos vacíos:
adk-streaming/ # Carpeta del proyecto
└── app/ # la carpeta de la aplicación web
├── .env # Clave API de Gemini
└── google_search_agent/ # Carpeta del agente
├── __init__.py # Paquete Python
└── agent.py # Definición del agente
agent.py¶
Copia y pega el siguiente bloque de código en el archivo agent.py.
Para model, por favor verifica el ID del modelo como se describe anteriormente en la sección de Modelos.
from google.adk.agents import Agent
from google.adk.tools import google_search # Importar la herramienta
root_agent = Agent(
# Un nombre único para el agente.
name="basic_search_agent",
# El Modelo de Lenguaje Grande (LLM) que el agente usará.
# Por favor completa el ID del modelo más reciente que soporte live desde
# https://google.github.io/get-started/streaming/quickstart-streaming/#supported-models
model="...",
# Una descripción breve del propósito del agente.
description="Agent to answer questions using Google Search.",
# Instrucciones para establecer el comportamiento del agente.
instruction="You are an expert researcher. You always stick to the facts.",
# Agregar la herramienta google_search para realizar grounding con Google search.
tools=[google_search]
)
agent.py es donde se almacenará toda la lógica de tu(s) agente(s), y debes tener un root_agent definido.
Observa cómo integraste fácilmente las capacidades de grounding con Google Search. La clase Agent y la herramienta google_search manejan las interacciones complejas con el LLM y el grounding con la API de búsqueda, permitiéndote enfocarte en el propósito y comportamiento del agente.

Copia y pega el siguiente bloque de código en el archivo __init__.py.
3. Configurar la plataforma¶
Para ejecutar el agente, elige una plataforma entre Google AI Studio o Google Cloud Vertex AI:
- Obtén una clave API de Google AI Studio.
-
Abre el archivo
.envubicado dentro de (app/) y copia y pega el siguiente código. -
Reemplaza
PASTE_YOUR_ACTUAL_API_KEY_HEREcon tuAPI KEYreal.
- Necesitas una cuenta existente de
Google Cloud y un
proyecto.
- Configura un proyecto de Google Cloud
- Configura el CLI de gcloud
- Autentícate en Google Cloud, desde la terminal ejecutando
gcloud auth login. - Habilita la API de Vertex AI.
-
Abre el archivo
.envubicado dentro de (app/). Copia y pega el siguiente código y actualiza el ID del proyecto y la ubicación.
4. Prueba el agente con adk web¶
Ahora está listo para probar el agente. Ejecuta el siguiente comando para lanzar la UI de desarrollo. Primero, asegúrate de establecer el directorio actual en app:
También, establece la variable SSL_CERT_FILE con el siguiente comando. Esto es necesario para las pruebas de voz y video más adelante.
Luego, ejecuta la UI de desarrollo:
Nota para usuarios de Windows
Cuando encuentres el error _make_subprocess_transport NotImplementedError, considera usar adk web --no-reload en su lugar.
Precaución: ADK Web solo para desarrollo
ADK Web no está destinado para uso en despliegues de producción. Deberías usar ADK Web solo para propósitos de desarrollo y depuración.
Abre la URL proporcionada (usualmente http://localhost:8000 o
http://127.0.0.1:8000) directamente en tu navegador. Esta conexión se mantiene
completamente en tu máquina local. Selecciona google_search_agent.
Prueba con voz y video¶
Para probar con voz, recarga el navegador web, haz clic en el botón del micrófono para habilitar la entrada de voz, y haz las siguientes preguntas por voz. El agente usará la herramienta google_search para obtener la información más reciente para responder esas preguntas. Escucharás la respuesta por voz en tiempo real.
- What is the weather in New York?
- What is the time in New York?
- What is the weather in Paris?
- What is the time in Paris?
Para probar con video, recarga el navegador web, haz clic en el botón de la cámara para habilitar la entrada de video, y haz preguntas como "What do you see?". El agente responderá qué ve en la entrada de video.
Advertencia¶
- No puedes usar chat de texto con los modelos de audio nativo. Verás errores al ingresar mensajes de texto en
adk web.
Detener la herramienta¶
Detén adk web presionando Ctrl-C en la consola.
Nota sobre ADK Streaming¶
Las siguientes características serán compatibles en futuras versiones de ADK Streaming: Callback, LongRunningTool, ExampleTool, y agente Shell (ej. SequentialAgent).
¡Felicitaciones! ¡Has creado e interactuado exitosamente con tu primer agente de Streaming usando ADK!
Próximos pasos: construir una aplicación de streaming personalizada¶
La serie de guías de desarrollo de streaming bidireccional proporciona una visión general del código del servidor y del cliente para una aplicación web asíncrona personalizada construida con ADK Streaming, habilitando comunicación de audio y texto bidireccional en tiempo real.