Ejemplos en tiempo real
Cuatro ejemplos ejecutables en el directorio examples/, en un orden aproximado de cuánto enseñan. Todos usan el puente del lado del servidor; todos se ejecutan en cualquiera de OpenAI o Gemini. Establezca la clave relevante primero:
export OPENAI_API_KEY=sk-… # for OpenAI sessions
export GEMINI_API_KEY=… # for Gemini sessions (or GOOGLE_API_KEY)
realtime_tools
Sin interfaz gráfica. La lectura inicial más clara. Una sonda de consola (sin navegador) que ejercita el despacho de herramientas en IntegratedRealtimeRunner: turnos de herramienta única, herramienta paralela y calculadora, con agregación de session/memory/transcript incorporada. La imagen de extremo a extremo más pequeña de cómo fluye un turno de tool.
cargo run --manifest-path examples/realtime_tools/Cargo.toml
Comience aquí para entender el runner; luego pase a los ejemplos web para el audio.
realtime_voice — Mindfulness con Mia
El buque insignia. Una aplicación de voz web completa: el navegador captura el micrófono PCM16 y reproduce al agente sin interrupciones con interrupción; el servidor Rust posee la session. Su característica destacada es la memoria: un GraphMemoryService respaldado por archivos es la memoria a largo plazo de Mia — su tarjeta de perfil se inyecta al inicio de la session, cada turno se registra en el graph, y ella selecciona hechos duraderos a mitad de la conversación a través de las tools remember/relate puenteadas. Un panel en vivo de "User Memory Insights" lee y escribe el mismo graph sobre /api/memory. También muestra una tool get_weather del lado del servidor.
| Claro | Oscuro |
|---|---|
![]() | ![]() |
cargo run --manifest-path examples/realtime_voice/Cargo.toml
# → http://localhost:3033
Léelo para: captura/reproducción de audio web, memoria de grafo de conocimiento, autocuración del agent.
customer_service — Aria
El escaparate multimodal. Una versión rediseñada de la demo de la API Live de Google "Customer Service Agent" — agnóstico del backend, en Rust, con una interfaz de usuario de tres columnas temática (sistema/claro/oscuro). Combina todo:
- Multimodal — transmite PCM de micrófono y fotogramas JPEG de cámara; Aria ve lo que le muestras (
send_video_frame). - Herramientas —
process_refundyconnect_to_humanse ejecutan en el servidor; los resultados se verbalizan. - Diálogo afectivo — empático en ambos backends;
CS_AFFECTIVE=1cambia Gemini al modelo de audio nativo para una verdadera coincidencia de tono.
| Claro | Oscuro |
|---|---|
![]() | ![]() |
cargo run --manifest-path examples/customer_service/Cargo.toml
# → http://localhost:3066
# headless smoke test (verifies the refund tool runs):
cargo run --manifest-path examples/customer_service/Cargo.toml -- probe openai
cargo run --manifest-path examples/customer_service/Cargo.toml -- probe gemini
# enable Gemini native affective dialogue:
CS_AFFECTIVE=1 cargo run --manifest-path examples/customer_service/Cargo.toml
Léelo para: entrada de video, mezclando multimodal + herramientas + afecto en un solo agente.
live_translation
El ejemplo del modelo dedicado. Un traductor de voz a voz en tiempo real: habla inglés, escucha español un par de segundos después. El mismo puente, pero apuntando a los modelos de traducción de los proveedores — OpenAI gpt-realtime-translate y Gemini gemini-3.5-live-translate-preview — que hablan un protocolo diferente al de los modelos conversacionales. Selecciona un idioma de destino en la interfaz de usuario; el servidor negocia las tasas de audio por proveedor antes de que fluya el audio.
| Claro | Oscuro |
|---|---|
![]() | ![]() |
cargo run --manifest-path examples/live_translation/Cargo.toml
# → http://localhost:3055
cargo run --manifest-path examples/live_translation/Cargo.toml -- probe openai
Léalo para: usar los modelos de traducción dedicados y un puente enfocado y minimalista.
Una ruta sugerida
realtime_tools— ver el Runner y un turno de Tool, sin ruido de audio.realtime_voice— añadir audio real y memoria de grafo de conocimiento.customer_service— añadir visión y afecto; el Agent multimodal completo.live_translation— un modelo y protocolo especializados.
Cada README.md en el directorio de ejemplos tiene la tabla completa de variables de entorno, anulaciones de modelo (OPENAI_REALTIME_MODEL / GEMINI_REALTIME_MODEL), y notas de arquitectura.
← Volver a la Descripción general en tiempo real





