Runtime Configuration

STT β€” Deepgram Flux

Use flux-general-multi for Hindi+English; language hints only apply to that model.

Biases detection, e.g. en, hi.

Confidence to end a turn. Lower = ends sooner (more interruptions).

Silence after speech that force-ends a turn. Too low cuts mid-sentence on pauses.

Connect the Flux socket in the background so the greeting isn't blocked ~1s. Keep true.

Controls Pipecat's post-STT delay before triggering the LLM (NOT Deepgram eot_timeout_ms). Lower values reduce latency but may increase fragmented turns. Range 100–1000; default 500.

Stage-1 measurement only: asks Flux for EagerEndOfTurn events and records the would-be LLM head start. No speculative draft, no early speech. Default false (off = identical to today).

Confidence for the early EagerEndOfTurn signal. Must be ≀ EOT threshold; range 0.3–0.9. Only sent to Flux when EagerEOT is enabled. Leave blank for off.

LLM β€” Cerebras

Caps reply length. Smaller = faster, shorter phone replies.

Hard timeout per LLM request (wired to the Cerebras client) and the bound on outbound greeting generation.

ARC-06: per-turn TTFB bound for the in-call LLM. A stalled request retries once on Cerebras, then fails over to the Gemini fallback model for that turn.

Nucleus sampling. Unset = provider default; blank keeps the saved value (clear via scripts/set_llm_penalties.py).

Intra-turn repetition guard. Keep ≀ 0.5 β€” higher distorts Kannada/Telugu suffixes. Unset = off; blank keeps the saved value.

Discourages tokens already used in this reply. Keep ≀ 0.5. Unset = off; blank keeps the saved value.

Starts an out-of-band Cerebras draft on EagerEndOfTurn and releases it at EndOfTurn when the eager transcript matches the final β€” hiding the turn-stop debounce. Requires EagerEOT telemetry on. Default false (off = identical to today).

TTS β€” Cartesia
Prompts

The <en>/<hi> language contract is added by the system automatically β€” you don't need to mention it here.

Memory

Content-word overlap needed to surface an earlier turn. Higher = fewer/cleaner recalls (1–6). An explicit β€œyou told me…” relaxes it to 1.

Budget for facts + recall + summary injected each turn, so a big block can’t inflate latency (100–2000).

In-call memory only (recent window + pinned facts + lexical recall over both speakers + a small running summary). No long-term/vector memory.

Ops

Set DEBUG to see Flux start/eager/resume turn events.

Place outbound call

The LLM greeting is generated first; the call is not placed if greeting or config load fails.