Expand description
The speech-to-speech model abstraction. GeminiLive is the first impl.
See DESIGN.md “Trait contracts” + “Gemini Live protocol”. Audio in is 16 kHz
PCM; audio out (in RealtimeEvent::AudioOut) is 24 kHz PCM for Gemini Live.
Re-exports§
pub use gemini_live::gemini_schema_subset;pub use gemini_live::GeminiLive;pub use service_adapter::ServiceRealtimeAdapter;
Modules§
- gemini_
live - Native Rust Gemini Live client (
RealtimeLlmimpl). - service_
adapter - Bridge:
RealtimeLlmService→RealtimeLlm+RealtimeKickoff.
Enums§
- Poll
Event - Result of a non-blocking
RealtimeLlm::poll_eventpoll.
Traits§
- Realtime
Backend - A boxable realtime backend: anything that is both a
RealtimeLlmand aRealtimeKickoff. The blanket impl makes every such type qualify, and theBox<dyn RealtimeBackend>impls below let a consuming app’sbuild_realtimereturn ONE boxed type across providers (e.g.GeminiLivedirectly, or a connector wrapped inServiceRealtimeAdapter) and still hand it tobuild_s2s_task— which is generic overRealtimeLlm + RealtimeKickoff. This is what keeps provider selection in the app a set of one-liners with no per-provider glue (the realtime analogue of the cascadedBox<dyn LlmService>factory). - Realtime
Kickoff - The bot-first “kickoff” capability.
- Realtime
Llm - A bidirectional, streaming speech-to-speech model session.