Exemples en temps réel

Quatre exemples exécutables dans le répertoire examples/, environ dans l'ordre de ce qu'ils enseignent. Tous utilisent le server-side bridge ; tous fonctionnent sur soit OpenAI, soit Gemini. Définissez d'abord la clé pertinente :

export OPENAI_API_KEY=sk-…        # for OpenAI sessions
export GEMINI_API_KEY=…           # for Gemini sessions (or GOOGLE_API_KEY)

realtime_tools

Sans tête. La lecture initiale la plus claire. Une sonde de console (sans navigateur) qui exerce le tool dispatch sur IntegratedRealtimeRunner : des tours mono-outil, multi-outils et de calculatrice, avec l'agrégation de session/mémoire/transcription intégrée. Le plus petit aperçu de bout en bout du déroulement d'un tour d'outil.

cargo run --manifest-path examples/realtime_tools/Cargo.toml

Commencez ici pour comprendre le runner ; puis passez aux exemples web pour l'audio.


realtime_voiceMindfulness with Mia

Le produit phare. Une application vocale web complète : le navigateur capture le mic PCM16 et joue l'agent sans interruption avec barge-in ; le serveur Rust gère la session. Sa fonctionnalité principale est la mémoire : une GraphMemoryService adossée à un fichier est la mémoire à long terme de Mia — sa fiche de profil est injectée au début de la session, chaque tour est enregistré dans le graphe, et elle organise des faits durables en milieu de conversation via les outils bridgés remember/relate. Un panneau "User Memory Insights" en direct lit et écrit le même graphe via /api/memory. Montre également un outil get_weather côté serveur.

ClairSombre
Mindfulness with Mia — thème clairMindfulness with Mia — thème sombre
cargo run --manifest-path examples/realtime_voice/Cargo.toml
# → http://localhost:3033

Lisez-le pour : Capture/lecture audio web, mémoire de graphe de connaissances, auto-curation d'agent.


customer_serviceAria

La vitrine multimodale. Une version repensée de la démo API Live "Customer Service Agent" de Google — agnostique au backend, en Rust, avec une interface utilisateur à trois colonnes thématique (système/clair/sombre). Elle combine tout :

  • Multimédia — diffuse le PCM du micro et les cadres JPEG de la caméra ; Aria voit ce que vous lui montrez (send_video_frame).
  • Outilsprocess_refund et connect_to_human s'exécutent côté serveur ; les résultats sont retransmis vocalement.
  • Dialogue affectif — empathique sur les deux backends ; CS_AFFECTIVE=1 bascule Gemini vers le modèle audio natif pour une véritable correspondance tonale.
ClairSombre
Agent de service client — thème clairAgent de service client — thème sombre
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

Lisez-le pour : l'entrée vidéo, le mélange du multimédia + les outils + l'affect dans un seul agent.


live_translation

L'exemple du modèle dédié. Un traducteur vocal en temps réel : parlez anglais, entendez espagnol quelques secondes plus tard. Le même pont, mais pointé vers les modèles de traduction des fournisseurs — OpenAI gpt-realtime-translate et Gemini gemini-3.5-live-translate-preview — qui utilisent un protocole différent des modèles conversationnels. Choisissez une langue cible dans l'interface utilisateur ; le serveur négocie les débits audio par fournisseur avant le flux audio.

ClairSombre
Traduction en direct — thème clairTraduction en direct — thème sombre
cargo run --manifest-path examples/live_translation/Cargo.toml
# → http://localhost:3055
cargo run --manifest-path examples/live_translation/Cargo.toml -- probe openai

Lisez-le pour : l'utilisation des modèles de traduction dédiés et un pont minimal et ciblé.


Un chemin suggéré

  1. realtime_tools — voir le Runner et un tour de Tool, pas de bruit audio.
  2. realtime_voice — ajouter de l'audio réel et une mémoire de graphe de connaissances.
  3. customer_service — ajouter de la vision et de l'affect ; l'Agent multimodal complet.
  4. live_translation — un model et un protocole spécialisés.

Chaque README.md dans le répertoire d'exemples contient la table complète des env-var, les surcharges de model (OPENAI_REALTIME_MODEL / GEMINI_REALTIME_MODEL), et des notes d'architecture.

← Retour à l'Aperçu en temps réel