Every blueprint ships with source code, sample data, and step-by-step instructions — ready to run on your Cloudera Platform
A real-time voice AI agent for phone-based customer support: a caller dials a phone number, their speech is transcribed live, enriched with their account context, sent to an LLM served by Cloudera AI Inference Service, and the reply is spoken back to them — end to end, orchestrated by a single CML Application. It's built to show how Cloudera AI Inference Service slots into a live, latency-sensitive conversational pipeline alongside third-party telephony, speech-to-text, and text-to-speech services. The speech and telephony stack shown (Twilio, Deepgram, Cartesia) is one example wiring, not a requirement — the pattern works with any TTS/STT vendor you already use or are evaluating; the constant is Cloudera AI Inference Service driving the conversation.
No recorded Reprise walkthrough yet — TODO once one is produced. In the meantime, the app ships its own live demo: the main page lights up in real time as a call moves through Twilio → STT → LLM → TTS, and its "simulate" trigger plays a canned call through that same dashboard with no Twilio call required, for rehearsing without live credentials. Watch the demo
Not locked to any specific TTS/STT vendor. There are many speech-to-text and text-to-speech products on the market, and this blueprint doesn't compete with them or depend on a particular one — it demonstrates a pattern for wiring any TTS/STT provider into Cloudera AI Inference Service. Speech-to-text already swaps between Deepgram, Cartesia, or a Cloudera-hosted Whisper/Riva model via one config value; TTS ships with a Cartesia implementation behind the same kind of interface. Both are reference examples to adapt, not requirements.
Real-time, bidirectional phone call handling over a telephony provider's streaming media API (Twilio in this reference implementation) — no separate telephony infrastructure to stand up.
LLM responses grounded in caller account context, generated by Cloudera AI Inference Service, including support for reasoning models (with thinking-suppression and scratch-reasoning filtering built in)
Live visual call-pipeline dashboard for demos, showing each stage of the pipeline lighting up as a real call happens.
Swappable data layer: caller context comes from a mock telecom customer dataset behind a single lookup function, ready to be pointed at a real CRM/billing system.
Phone support is still the primary contact channel for many telecom customers, and live agent capacity is expensive to scale. This blueprint shows a pattern for automating first-line phone support — greeting the caller by name, answering account questions (data usage, billing, plan options) using their real account context, and handing off gracefully — without requiring the caller to use an app, chatbot widget, or IVR menu tree. The same pattern generalizes to any inbound-call support use case beyond telecom.
A telephony provider (Twilio in this reference implementation) handles the PSTN call and streams audio to this app's FastAPI Application over a websocket. The app looks up the caller, streams their speech to an STT provider, sends the transcript plus account context to an LLM on Cloudera AI Inference Service, and speaks the reply back through a TTS provider (Cartesia by default). By default only the telephony, STT, and TTS legs are external services — the call orchestration and the LLM both run inside your Cloudera AI workbench. None of the three vendors shown are architecturally required: STT and TTS already sit behind swappable provider interfaces, and docs/architecture.md covers what swapping the telephony provider itself would take.
This may have been caused by one of the following: