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_voiceMindfulness 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.

ClaroOscuro
Mindfulness con Mia — tema claroMindfulness con Mia — tema 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_serviceAria

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).
  • Herramientasprocess_refund y connect_to_human se ejecutan en el servidor; los resultados se verbalizan.
  • Diálogo afectivo — empático en ambos backends; CS_AFFECTIVE=1 cambia Gemini al modelo de audio nativo para una verdadera coincidencia de tono.
ClaroOscuro
Agente de Servicio al Cliente — tema claroAgente de Servicio al Cliente — tema 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.

ClaroOscuro
Traducción en vivo — tema claroTraducción en vivo — tema 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

  1. realtime_tools — ver el Runner y un turno de Tool, sin ruido de audio.
  2. realtime_voice — añadir audio real y memoria de grafo de conocimiento.
  3. customer_service — añadir visión y afecto; el Agent multimodal completo.
  4. 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