← Svi članci

Glasovni poziv nekoliko AI-ja odjednom u jednom prozoru: kako napraviti "poziv Claude, GPT i DeepSeek" s prekidom

Glasovni poziv nekoliko AI-ja odjednom u jednom prozoru: kako napraviti "poziv Claude, GPT i DeepSeek" s prekidom

Ukratko o glavnom (BLUF)

In most chats with AI, the voice looks like this: you dictate a message, wait, read the answer. This is not a conversation - this is a dictation. Ušli smoNeuralSpaceučinjeno u odjeljku"Razgovor"punopravanglasovni pozivprekinuti, i možete nazvatibilo koji model- Claude, GPT, DeepSeek - u istom prozoru. Understanding how it works and why is more difficult than it seems.

Zašto “diktat” ≠ razgovor

  1. Niska latencija.
  2. Upad.

Arhitektura

Full-duplex path: continuous input, streaming of tokens into voice-over, interruption of response when interrupting
Full-duplex staza: kontinuirani unos, strujanje tokena u voice-over, prekid odgovora prilikom prekida

Full duplex staza.Mikrofon kontinuirano struji, prepoznavanje se događa paralelno s reprodukcijom odgovora. Ključna točka: čim detektor govora to uhvatikorisnik je govorio dok je model odgovarao, reprodukcija se odmah zaustavlja, neizgovoreni odgovor se prekida, a ono što je model uspio reći prije prekida ispravno se stavlja u kontekst - tako da ona razumije gdje je prekinuta.

Model agnostik.Najzanimljivije rješenje je jedan glasovni sloj na vrhu različitih modela. Korisnik mijenja sugovornika u jednom prozoru: sada razgovara s Claudeom, za minutu - s GPT-om, a zatim s DeepSeek-om. Za to, vokalni trakt (prepoznavanje + detekcija govora + logika prekida + sinteza)odvojen od određenog modela: Model je zamjenjivi "mozak" iza zajedničkog glasovnog sučelja. Put radi s apstraktnim tokom "replika → tok tokena odgovora → voiceover" i ne zna tko stoji iza toga.

Strujanje odgovora u glasovni prijenos.Kako se ne bi čekalo da model dovrši cijeli odgovor, tokeni idu u sintezu kako se generiraju, u komadima duž granica rečenica. To daje malu odgodu i prekidanje čini prirodnim: prekidamo točno ono što je već rečeno.

grablje

  • Upad lažne uzbune.Kašalj, pozadinska buka, "uh-huh" - model prestaje govoriti u krivom trenutku. Morali smo kalibrirati prag detektora govora kako bismo razlikovali pravu repliku od buke.
  • Kontekst nakon prekida.Ako jednostavno izbacite neizgovoreni odgovor, model "zaboravlja" da je uopće odgovorio. Izgovoreni dio čuvamo kao njegov tijek u dijalogu - tada "stani, ali više o drugom" djeluje smisleno.
  • Prebacivanje modela u razgovoru uživo.Povijest dijaloga je zajednička, ali modeli imaju različite formate i "karaktere". Normaliziramo povijest kako bi novi model nastavio razgovor umjesto da počinjemo od nule.

zašto je ovo

Različiti modeli jaki su na različite načine: jedan je bolji u zaključivanju, drugi je kreativniji, treći je brži i jeftiniji za brbljanje. Glasovni poziv s prebacivanjem pretvara ovo u prirodni scenarij: s jednim je razgovarao o ideji, od drugog je tražio da kritizira, a od trećeg da ponudi opcije. Sve se radi glasom, u jednom prozoru, uz mogućnost prekida u bilo kojem trenutku. Ispod se nalazi isti vokalni traktglasovni agent za web stranice— tamo i tipke pritišće.

Ako gradite glasovna sučelja povrh jezičnih modela, zanimljivo je razgovarati o tome kako riješiti upadanje i spremanje konteksta kada se pokvari. Pokušajte nazvati:neuralspace.pro/chat.

Full-duplex pipeline: continuous input, tokens streamed into speech, playback cut on interruption
Full-duplex cjevovod: kontinuirani unos, tokeni strujani u govor, reprodukcija prekinuta pri prekidu

Često postavljana pitanja (FAQ)

Pitanje: Kako dobiti najbolji rezultat od neuronske mreže?
Odgovor: Koristite detaljne upute (opise) na engleskom jeziku, postavite stil i detalje scene.

Pitanje: Mogu li se ti materijali koristiti u komercijalne svrhe?
Odgovor: Da, generirani sadržaj je u potpunosti vaš.