1. ¿Qué es la transmisión bidireccional?
La transmisión bidireccional (bidi-streaming) permite la comunicación bidireccional simultánea entre tu aplicación y los modelos de IA. A diferencia de los patrones tradicionales de solicitud-respuesta en los que envías un mensaje completo y esperas una respuesta completa, la transmisión bidireccional permite lo siguiente:
- Entrada continua: Transmite audio, video o texto a medida que se captura.
- Salida en tiempo real: Recibe respuestas de IA a medida que se generan.
- Interrupción natural: Los usuarios pueden interrumpir la IA en medio de la respuesta, al igual que en una conversación humana.

Por qué es importante: La transmisión bidireccional hace que las conversaciones de IA se sientan naturales. La IA puede responder mientras sigues proporcionando contexto, y puedes interrumpirla cuando hayas escuchado lo suficiente, al igual que cuando hablas con un humano.
¿Qué es el kit de herramientas de la API de Gemini Live del ADK?
El kit de desarrollo de agentes (ADK) proporciona una abstracción de alto nivel sobre la API de Gemini Live, que controla la compleja infraestructura de la transmisión en tiempo real para que puedas enfocarte en compilar tu aplicación.

El kit de herramientas de la API de Gemini Live del ADK administra lo siguiente:
- Ciclo de vida de la conexión: Establecimiento, mantenimiento y recuperación de conexiones de WebSocket
- Enrutamiento de mensajes: Dirige el audio, el texto y las imágenes a los controladores correctos.
- Estado de la sesión: Conserva el historial de conversaciones en las reconexiones.
- Ejecución de herramientas: Llama y reanuda automáticamente las llamadas a funciones.
¿Por qué usar el ADK en lugar de la API de Live sin procesar?
Podrías compilar directamente en la API de Gemini Live, pero el ADK controla la infraestructura compleja para que puedas enfocarte en tu aplicación:

Capacidad | API de Live sin procesar | Kit de herramientas de la API de Gemini Live del ADK |
Framework del agente | Compilación desde cero | Agente único o múltiple con herramientas, evaluación y seguridad |
Ejecución de herramientas | Manejo manual | Ejecución paralela automática |
Administración de conexiones | Reconexión manual | Reanudación transparente de la sesión |
Modelo de evento | Estructuras personalizadas | Objetos de evento unificados y con tipo |
Framework asíncrono | Coordinación manual | LiveRequestQueue + generador run_live() |
Persistencia de la sesión | Implementación manual | SQL, Vertex AI o en memoria integrados |
En resumen: El ADK reduce meses de desarrollo de infraestructura a días de desarrollo de aplicaciones. Te enfocas en lo que hace tu agente, no en cómo funciona la transmisión.
Casos de uso reales
- Atención al cliente: Un cliente muestra su cafetera defectuosa a través de la cámara del teléfono mientras explica el problema. La IA identifica el modelo y el punto de falla, y el cliente puede interrumpir para corregir los detalles en medio de la conversación.
- Comercio electrónico: Un comprador sostiene una prenda de vestir frente a su cámara web y pregunta: "Busca zapatos que combinen con estos pantalones". El agente analiza el estilo y participa en un intercambio fluido: "Muéstrame algo más informal" → "¿Qué te parecen estas zapatillas?" → "Agrega las azules en la talla 10".
- Servicio de campo: Un técnico que usa anteojos inteligentes transmite su vista mientras pregunta: "Escucho un ruido extraño de este compresor. ¿Puedes identificarlo?" El agente proporciona orientación paso a paso sin usar las manos.
- Atención médica: Un paciente comparte un video en vivo de una afección de la piel. La IA realiza un análisis preliminar, hace preguntas aclaratorias y guía los próximos pasos.
- Servicios financieros: Un cliente revisa su cartera mientras el agente muestra gráficos y simula los impactos comerciales. El cliente puede compartir su pantalla para analizar artículos de noticias específicos.
Demostración de Shopper's Concierge 2: Demostración de RAG agentic en tiempo real para comercio electrónico, compilada con el kit de herramientas de la API de Gemini Live del ADK y Vertex AI Vector Search, Embeddings, Feature Store y Ranking API:

Más información: Guía para desarrolladores
Para obtener información detallada, consulta la Guía para desarrolladores del kit de herramientas de la API de Gemini Live del ADK, una serie de 5 partes que abarca la arquitectura hasta la implementación de producción:
Parte | Enfoque | Qué aprenderá |
Base | Arquitectura, plataformas de la API de Live, ciclo de vida de 4 fases | |
Upstream | Envío de texto, audio y video a través de LiveRequestQueue | |
Downstream | Manejo de eventos, ejecución de herramientas, flujos de trabajo multiagente | |
Configuración | Administración de sesiones, cuotas, controles de producción | |
Multimodal | Especificaciones de audio, arquitecturas de modelos, funciones avanzadas |
2. Descripción general del taller
Qué compilará
En este taller práctico, compilarás desde cero una aplicación de IA de transmisión bidireccional completa. Al final, tendrás una IA de voz funcional que puede hacer lo siguiente:
- Aceptar entradas de texto, audio y de imagen
- Responder con texto de transmisión o voz natural
- Manejar interrupciones de forma natural
- Usar herramientas como la Búsqueda de Google
A diferencia de la lectura de documentación, examinarás cada componente paso a paso y comprenderás cómo encajan las piezas a medida que compilas de forma incremental.

Enfoque de aprendizaje
Seguimos un enfoque de compilación incremental:
- Paso 1: Servidor WebSocket mínimo → Respuesta "Hola, mundo"
- Paso 2: Agrega el agente → Define el comportamiento y las herramientas de la IA
- Paso 3: Inicialización de la aplicación → Ejecutor y servicio de sesión
- Paso 4: Inicialización de la sesión → RunConfig y LiveRequestQueue
- Paso 5: Tarea upstream → Comunicación del cliente a la cola
- Paso 6: Tarea downstream → Eventos para la transmisión del cliente
- Paso 7: Agrega audio → Entrada y salida de voz
- Paso 8: Agrega entrada de imagen → IA multimodal
Cada paso se basa en el anterior. Realizarás pruebas después de cada paso para ver tu progreso.
Requisitos previos
- Cuenta de Google Cloud con facturación habilitada
- Conocimientos básicos de Python y programación asíncrona (async/await)
- Navegador web con acceso al micrófono y a la cámara web (se recomienda Chrome)
Tiempo estimado
- Taller completo: ~90 minutos
- Versión rápida (solo pasos 1 a 4): ~45 minutos
3. Taller
Para comenzar el taller, sigue las instrucciones que se indican aquí:
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. Resumen y conclusiones clave
Qué compilaste
Compilaste desde cero una aplicación de IA de transmisión bidireccional completa. La aplicación controla la entrada de texto, voz y de imagen con respuestas de transmisión en tiempo real, la base para compilar IA conversacional lista para producción.
Componente | Qué hace | Step |
Agente | Define la personalidad, las instrucciones y las herramientas disponibles de la IA (p. ej., la Búsqueda de Google). | Paso 2 |
SessionService | Conserva el historial de conversaciones en las reconexiones. | Paso 3 |
Ejecutor | Organiza el ciclo de vida de la transmisión y conecta el agente a la API de Live. | Paso 3 |
RunConfig | Configura la modalidad de respuesta (TEXT/AUDIO), la transcripción y la reanudación de la sesión. | Paso 4 |
LiveRequestQueue | Interfaz unificada para enviar texto, audio y de imagen al modelo | Paso 5 |
run_live() | Generador asíncrono que produce eventos de transmisión del modelo | Paso 6 |
send_realtime() | Envía objetos binarios de audio o de imagen para la entrada de transmisión continua. | Pasos 7 y 8 |
Recursos
Sigue aprendiendo con estos recursos oficiales. La Guía del kit de herramientas de la API de Gemini Live del ADK proporciona una cobertura más detallada de todo lo que se incluye en este taller.
Recurso | URL |
Documentación de ADK | |
Guía del kit de herramientas de la API de Gemini Live del ADK | |
API de Gemini Live | |
API de Vertex AI Live | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
Repositorio de muestras de ADK |