Connect by JBRH Open Connect

Light code-mixing and slang

Mixing two languages inside one sentence is how a great many people speak, and Connect treats it as a register rather than an instruction. A Hinglish line is a switch only where the contact's city or state already made that language likely; otherwise it moves nothing. What you can ask for beyond that is limited: register is a prompt direction the model approximates, and two attempts to control fine speech behaviour were measured, found to change nothing and removed.

Status
Available What this means
Audience
both
Channels
phone
In the app
#/calls
Last verified
Product version
6.3.2

When a mixed sentence is a request, and when it is not#

"Bhai, can you send me the quotation kal tak?" is one sentence in one register. A detector that counts words and switches on the majority will answer it in Hindi, then answer the next in English, and the caller will spend the call adjusting to a system that keeps changing. So the default is flat: a mixed line is not a switch — unless Connect already had reason to expect that language.

That sits alongside three other rejections in the evidence rules — a single word, one garbled line, and a romanised transcript. Each was added because the looser version produced a real false switch. Detecting the caller's language has them in full.

What Connect does instead is answer in the established one and let the caller lead. If they produce a whole sentence in something else, that is evidence and it is acted on. Anything short of that is treated as how the person talks, which is exactly what it is.

The exception is worth knowing precisely, because it inverts the rule. Where the contact's city or state maps to a region in REGIONS — Warangal to Telugu, Coimbatore to Tamil — the call still opens in the line's language and does not assume the regional one, but the bar for moving to it is deliberately low: two or three words, mixed with English or not, and every reply from then on is in it. The same Hinglish line that moves nothing for an unknown caller is the whole signal for a caller whose address is on file.

What can be asked for, and what that buys#

Register — formality, warmth, how casual the wording is, the fillers a person uses — sits among the steering settings, so it becomes lines in the instructions rather than session parameters. In the profile schema that distinction is explicit, and there is a third kind for the honest middle ground: coarse, meaning a direction the model *approximates* rather than follows.

KindBecomesWhat to expect
engineA session parameterExactly what you set
promptA direction in the instructionsFollowed, mostly, in the model's own way
coarseA direction in the instructionsApproximated. Judge by listening, not by reading the setting

Slang is squarely in the second and third rows. You can ask a line to be relaxed and to use the everyday word rather than the formal one, and it will read that way more often than not. You cannot specify a particular word at a particular moment.

Two things that were tried and do not work#

Both are documented here as measured limits rather than as settings, because they were built, tested and removed:

  1. Respect-word cadence. A rendered rule for placing *andi* changed nothing — the marker appeared in 6 of 8 replies either way — and once produced a Telugu answer to an English sentence.
  2. Murmur handling. The model writes a mumble down as a word in some language and answers it as though it were speech. A prompt sentence asking it not to changed nothing. conversation.is_murmur, murmur_reactions and murmurs_accepted exist to measure how often this happens, not to fix it.

What is verified today#

The behaviour above was reconciled on 2026-09-10 against backend/app/voice_region.plan at f5ea518. The selection rules have four tiers and a different bar in each, so "a mixed line is never a switch" is true of three of them and false of the fourth — the one where a city or state is on file. Match the tier before quoting the rule. The two measured limits are a different kind of statement: they describe what a model does, and a change to Connect will not change that.

Questions#

My callers speak Hinglish. Should I pin a language?

Usually not. Pinning removes the ability to move at all, which is a sensible choice for a single-purpose line and a poor one for a mixed audience. For a caller with no city or state on file, an unpinned line already stays put unless somebody produces a full sentence in something else. For one whose address is on file, the mixed line is the point: it is how the call reaches the language they actually want.

Can I give the voice a list of slang words to use?

You can put wording guidance in the behaviour text and the model will lean that way, but this is a prompt-kind setting: a direction, not a substitution rule. If a specific phrase must be said exactly, the place for it is the deterministic text — the greeting and the closed-line message are written, not generated.

Does mixing confuse the transcript?

The transcript records what the transcriber produced, which for Indian-language speech is often Latin letters. That is why romanised_script is handled as its own case: the alphabet in a transcript row is not evidence about what was spoken.