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_voice — Mindfulness 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.
| Clair | 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_service — Aria
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). - Outils —
process_refundetconnect_to_humans'exécutent côté serveur ; les résultats sont retransmis vocalement. - Dialogue affectif — empathique sur les deux backends ;
CS_AFFECTIVE=1bascule Gemini vers le modèle audio natif pour une véritable correspondance tonale.
| Clair | 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.
| Clair | 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é
realtime_tools— voir le Runner et un tour de Tool, pas de bruit audio.realtime_voice— ajouter de l'audio réel et une mémoire de graphe de connaissances.customer_service— ajouter de la vision et de l'affect ; l'Agent multimodal complet.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





