Engine Application
Engine Components
Beyond the pipeline components the engine has a set of components
in engine/component/ that the pipeline and the services build on: the realtime models that
actually converse, speech recognition management and a number of smaller
helpers.
Realtime Models
Summarized here; the contract, the session object and the element vocabulary are documented in Realtime Models.
A realtime model is what conducts the conversation for one session. It receives the system
prompt and the tool box, and returns a RealtimeSession producing realtime elements — transcripts,
response text, audio and tool calls. RealtimeSessionFactory selects the implementation whose
name matches the provider of the resolved realtime properties.
| Component | Backing service |
|---|---|
OpenAI realtime API. Shares the protocol handling in |
|
OpenAI GPT-Live, a speech-to-speech model without turns, over its own WebSocket protocol. |
|
The same protocol against an Azure OpenAI deployment. |
|
Google Gemini Live, with sessions created by |
|
ElevenLabs conversational realtime API. |
|
Hume AI realtime API. |
|
The engine’s own realtime pipeline: a streaming chat model resolved through the LLM factory, combined with the speech recognition and synthesis components. This is the implementation used when the conversation is assembled from separate STT, LLM and TTS providers rather than delegated to a speech-to-speech service. |
The realtime configuration of an agent — provider, model and voice — is resolved through
RealtimeConfigurationService, and can be overridden per connection with
realtimeConfigurationId.
Speech Recognition
| Component | Responsibility |
|---|---|
Owns recognition for a session: starts and stops recognizers around turns, disconnects a
recognizer that receives no audio (configurable through
|
|
Builds a cascade over the available recognizer components: audio is buffered (up to
|
|
Phonemization through a Triton-served model, used for animation data where the synthesizer does not provide it. |
Citation Materialization
| Component | Responsibility |
|---|---|
|
Track which retrieved knowledge was actually used in an answer, so responses can carry citations back to their source. |
Support Components
| Component | Responsibility |
|---|---|
Assembles the input normalization chain for a session — see Processors. |
|
Blends the user’s and the agent’s emotional sets into the state the client renders. |
|
Composes avatar and environment images into thumbnails and resizes them, behind the visual endpoints. |
|
The masking rules applied before logging text. |
|
Summaries of a session’s conversation: the rolling summary of its older part that the relational planning prompt carries instead of the full transcript, and the summary of the whole session made when it ends. |
|
|
Tool sets offered to the model depending on what the connected device can do. |
Tools for invoking an agent skill and for handing the conversation over to another agent. |
|
The outbound WebSocket client used by components that talk to external realtime services. |
|
Startup loading of engine resources. |
|
|
Probe the configured providers behind the health endpoints — see Observability. |