Технологија

Шта је унутра у Dialogist AI гласовном агенту

Измерено кашњење, смена говорника, знање и тестирање.

Четврт секунде

Од последње речи позиваоца до првог звука агента, самом агенту треба око четврт секунде.

≈ 0,27 с

232 мс да одлучи да је позивалац завршио, затим 35 мс до првог звука

Са раним стартом. Испрекидано: посао који почиње унутар паузе, пре одлуке. Сиво: синтеза, потребна само када реченице нема у кешу гласа. Без раног старта први звук стиже 117 мс после одлуке.

Шта меримо

Сат тече од краја говора позиваоца до првог звука агентовог одговора.

Одлука да је позивалац завршио

Тајмер тишине је или спор или упада у реч. Агент чека 192 мс, а затим пита мали модел да ли је реченица завршена. Модел одговара за око 40 мс, па се реплика затвара на око 232 мс. Тајмеру само за тишину треба 512 мс.

Почетак одговора

Препознавање ради од тренутка када позивалац почне да говори, па је текст спреман када се реплика затвори. Уз рани старт језички модел добија текст док је агент још у паузи, па је његова прва реченица обично написана до тренутка затварања реплике. Синтеза затим креће из кеша гласа или из те прве реченице.

Шта остаје после одлуке
КоракСтандардноРани старт
Транскрипција (коначан текст после паузе)0,5 мс0,5 мс
Прва реченица из језичког модела111 мс3 мс
Глас, до првог звука6 мс31 мс
Од одлуке до првог звука117 мс35 мс

Транскрипција траје 0,5 мс после одлуке јер препознавање ради у току док позивалац говори и прави пробни пролаз током паузе. Уз рани старт језички модел почиње на том пробном тексту унутар паузе, па после одлуке остају 3 мс његовог посла; у стандардном режиму свих 111 мс долази после ње. У тесту оптерећења рани захтев је отишао пре одлуке у 98% одговора, у просеку 225 мс раније при 50 разговора и 508 мс раније при 128. Ако позивалац настави да говори, агент одбацује припремљени одговор и одговара на целу реченицу.

При 100 истовремених позива на једном Server Unit-у исти корак траје око 0,4 с у стандардном режиму и 0,25 с уз рани старт. Цела слика је у белешци о Server Unit-у. Server Unit под оптерећењем

  • 232 мсда се одлучи да је позивалац завршио (пауза од 192 мс плус 40 мс модела); тајмер тишине тражи 512 мс
  • 35 мсод те одлуке до првог звука уз рани старт; 117 мс без њега
  • ≈ 0,3 свраћа се по реплици позиваоца у стварним позивима захваљујући моделу краја реплике, који је рано затворио 87% реплика

У 1.468 реплика позивалаца из стварних позива модел краја реплике је рано затворио 87% реплика, а 95% њих већ при првом погледу.

Где су отишле милисекунде

Сваку измену смо измерили посебно пре него што је ушла у систем. Заједно су отприлике удвостручиле број позива које Server Unit носи на Стандард нивоу.

  • уштеда 89–235 мс

    Рани старт

    Језички модел креће на препознатом тексту док агент још чека да прође пауза. Уштеда расте са оптерећењем: 89 мс при једном позиву, 189 мс при 96 разговора, 235 мс при 128.

  • 280 → 40 мс

    Мртва тишина уклоњена из говора

    Синтетизоване реченице почињу тишином; медијана у нашем кешу је 280 мс. Агент је скраћује на 40 мс док репродукује клип, па је на линији одговор једног позива стизао око 200 мс раније. Кеш чува оригинал.

  • уштеда ≈ 0,3 с

    Модел краја реплике

    После паузе од 192 мс мали модел по интонацији процењује да ли је мисао завршена. У стварним позивима рано је затворио 87% реплика позивалаца и сачекао 96% пауза усред мисли. Може прво да ради у режиму посматрања и само бележи шта би урадио.

  • 94%

    Кеш гласа

    Агент са диска репродукује фразе које је већ изговорио. Кеш преживљава рестарте, а ван радног времена агент проверава кеширане клипове тако што их препознаје, па оне који не прођу поново генерише.

  • Прва реченица прескаче ред

    Под оптерећењем почетак одговора једног позива никада не чека иза краја одговора другог. Агент синтетизује следеће реченице док се прва репродукује.

  • Један сат за све позиве

    Медиј свих позива ради на једном заједничком откуцају од 20 мс, уместо једног тајмера по позиву.

    Voicecore: медијски бацкенд у Русту (ЕН)
  • 69 → 0,7 µс

    Јефтинији аудио фрејмови

    Предаја фрејма између телефонског стека и агента траје мање од микросекунде уместо десетак.

    Voicecore: медијски бацкенд у Русту (ЕН)

Пре и после: исти стенд, један позив од 20 минута и 50 разговора, агент за регрутацију. Кеш: 64.192 фразе у тесту оптерећења. Предаја фрејма: мерена изоловано на библиотеци за телефонију.

Слуша док говори

Канал позиваоца остаје отворен. Детекција гласа и препознавање раде на њему док агент говори, а агент реагује на оно што чује.

  • Упадице које нешто значе

    Позивалац може да говори преко агента, а агент стаје. Упадицу препознаје по тексту или по звуку. Акустички режим има сопствени праг и тражи непрекинут говор, па тастатура, залупљена врата или кашаљ не прекидају агента. Агент игнорише кратак фрагмент ниске поузданости преко сопственог гласа, а тако изгледа ехо.

  • Глас се повлачи

    Када позивалац почне да говори, глас агента се стишава и затамњује: мања јачина, мање високих фреквенција. Ако позивалац каже нешто што се рачуна, агент стаје. После „аха“ или кашља враћа се од најближе границе слога, од почетка реченице или из тачне тачке прекида. Подешава се по агенту.

  • „Аха“ у паузама

    Усред дуге реплике позиваоца агент убацује кратке потврде сопственим гласом. То су унапред снимљени клипови које је човек преслушао и одобрио. Репродукују се у паузама, са вероватноћом, минималним размаком, ограничењем по реплици и без понављања, а никада када модел краја реплике сматра да је позивалац завршио.

  • Каже када није сигуран

    Поузданост препознавања улази у промпт агента. Агент види несигурну транскрипцију означену као такву и тражи од позиваоца да понови уместо да погађа име или број.

  • Учтиво руковање тишином

    Поновни упит, па поздрав, мерено од стварног краја репродукције, а не од краја синтезе.

  • Просторија око гласа

    Опционална позадина канцеларије или сале за састанке, помешана испод гласа од прве секунде позива.

  • Агент генерише поздрав током одлагања звоњења и шаље га реченицу по реченицу.
  • Широкопојасни Г.722 где га друга страна подржава. Ублажено аутоматско појачање подигло је однос сигнал-шум са 23 на 28,7 дБ на 11 означених стварних позива.
  • Агентово „аха“ може да се врати кроз линију са слушалице позиваоца. Препознавање га уклања из транскрипта, а агент држи потврде ван историје разговора.

Слушање док говори: цела белешка

Гласови у току, ваша имена

Клонирајте глас или изаберите један из каталога, па га научите како да изговара ваша имена.

  • Клонирање гласа

    Нови глас из узорка од 10 до 30 секунди и његовог транскрипта.

  • Речници изговора

    Називи брендова, улице и жаргон изговорени онако како их ви изговарате, са преслушавањем.

  • Један глас по агенту

    Из каталога или клониран, брзином коју задате.

  • Синтеза у току

    Реченицу по реченицу: следећа реченица је спремна пре него што се прва заврши.

Atlas

Ваши документи, претражени у оквиру буџета кашњења.

РАГKnowledge Hub

Atlas је наш кноwледге хуб. Агента повезујете са једном или више база знања, а Atlas враћа пасусе који одговарају на питање.

  • Претрага пре сваког одговора

    Брза претрага траје око 150 мс на серверу. Ако се не врати у року од 400 мс, агент одговара без ње.

  • Дубља претрага на захтев

    За тешка питања модел сам тражи обимнију претрагу. Траје 0,7 до 1,2 с, а агент у међувремену изговара кратку фразу да линија не заћути.

  • Хибридно претраживање

    Претрага по значењу и по кључним речима, спојене, уз реранкер у дубљем режиму.

  • Било који формат

    PDF, Оффице фајлови, табеле, веб странице и скенови са ОЦР-ом. Atlas поново обилази изворе по распореду.

  • Видите зашто

    У Промпт Студију сваки одговор показује које је базе знања агент претражио и шта се вратило.

  • ≈ 150 мсбрза претрага, на страни сервера
  • 0,7–1,2 сдубља претрага
  • 400 мсбуџет пре него што агент настави без ње

Atlasов тест домен: 144 до 156 мс на страни сервера у брзом режиму; 636 до 1.090 мс у дубљем режиму, 0,73 до 1,20 с укупног времена.

Polygon

Пробни полигон за гласовне агенте. Симулира позиваоце, оцењује сваки разговор и показује где се две верзије агента почињу разликовати. У пакету Про то је симулација дијалога.

  1. Сценарио
  2. Симулирани позивалац
  3. Разговор
  4. Детерминистичке провере
  5. Судија
  6. Пробе понашања
  7. Поређење

Једна оцена, осам критеријума

Судија чита цео разговор, чињенице о позиваоцу и траг коришћења алата, па оцењује сваки критеријум уз доказ цитиран из транскрипта.

  1. Остварење циља25
  2. Поштовање упутстава15
  3. Квалитет коришћења алата15
  4. Чињенична тачност10
  5. Квалитет дијалога10
  6. Отпорност10
  7. Усклађеност са безбедношћу10
  8. Персона и тон5

0 до 100: пролаз од 75, упозорење од 50

Пада без обзира на оцену

  • Забрањена фраза у говору агента
  • Кршење безбедности
  • Неисправан позив алата који је стигао до позиваоца

Где се две верзије разилазе

  1. ПозивалацТреба да померим термин.

    Верзија А: Наравно. Који је број ваше резервације?

    Верзија Б: Наравно. Који је број ваше резервације?

  2. ПозивалацЧетири четири један седам.

    Верзија А: Хвала. Четвртак у десет или петак у два?

    Верзија Б: Хвала. Четвртак у десет или петак у два?

  3. Тачка разилажења · реплика 3

    ПозивалацПетак.

    Верзија А: Готово: петак у два. Добићете СМС.

    Верзија Б: Извините, можете ли да поновите број?

Илустрација: исти симулирани позивалац према две верзије агента. Polygon поравнава разговоре реплика по реплика и означава прву реплику у којој се разликују.

  1. Позиваоци који се опиру

    Симулирани позиваоци са познатом истином
    Шест типова позивалаца (сарадљив, заузет, неповерљив, збуњен, агресиван, брбљив), четири жељена исхода и пет нивоа тежине. Сваки позивалац носи сопствене чињенице, па судија зна да ли је агент остварио циљ и да ли је нешто измислио.
    Генерисано из вашег агента
    Polygon пише позиваоце на основу промпта самог агента и поново их генерише када се промпт промени.
    Намерно тврд приступ
    Шум препознавања (испуштене речи, цифре читане једна по једна, речи сличног звука), спори или неисправни алати, позиваоци који упадају у реч и скрећу с теме. Са задатим семеном, па се разговор који падне понавља реплика по реплика.
  2. Оцена која нешто значи

    Осам критеријума, пондерисаних за телефонског агента
    Остварење циља вреди пет пута више од тона. Оцена од 0 до 100, уз пролаз, упозорење или пад.
    Тврде капије
    Забрањена фраза, кршење безбедности или неисправан позив алата који је стигао до позиваоца обара разговор без обзира на оцену.
    Судија који не погађа
    Судија за сваку оцену наводи доказ из транскрипта, поновљена оцењивања се спајају медијаном, а критеријум без оцене рачуна се као минимум.
  3. Понашање, једно по једно питање

    Пробе
    Провере са да/не одговором, попут „да ли је агент поново питао после чудног одговора?“, исказане са интервалом од 95%, тако да нико не чита „3 од 4“ као 75%.
    Детерминистичне метрике
    Рачунају се на сваком транскрипту, уз детекцију петљи која прекида разговор који се врти у круг.
  4. Две верзије, једна поред друге

    Матрица сценарија и верзија
    Поређана по томе где се верзије највише не слажу.
    Тачка разилажења
    Прва реплика у којој се два разговора разилазе, са транскриптима поравнатим један поред другог.
    Претрага параметара
    По моделима и подешавањима, један фактор по један, на мрежи или насумично, рангирано по оцени, затим по стабилности, па по брзини.
  5. Пре првог позива и после последњег

    Анализа промпта
    Пре него што се иједан разговор покрене, Polygon чита промпт и истиче преоптерећена упутства, закопана правила, сукобе, нејасноће и понављања.
    Стварни позиви
    Увезите транскрипте из продукције и оцените их истом рубриком и пробама, да видите да ли нова верзија боље пролази на позивима из прошлог месеца.
    Чува се свака верзија
    Промптови, позиваоци, замене за алате, рубрике и пробе су непроменљиве верзије које можете да поредите.
  • 8оцењених критеријума
  • 3тврде капије
  • 6типова позивалаца
  • 5нивоа тежине

Сопствена инфраструктура

Сопствени модели и модели отворених тежина на серверима које водимо у EU, или на вашим. Ниједан звук ни текст позиваоца не иде спољном AI провајдеру.

Језички модел
Језички модел отворених тежина на нашим GPU-овима
Препознавање говора
Oasis Speech, наша интерна услуга препознавања; разуме 48 језика → Oasis Speech 2
Синтеза говора
Неурални гласови у току, готови или клонирани из вашег узорка
Смена говорника
Детекција гласовне активности и модел краја реплике
Знање
Atlas, наш кноwледге хуб, са ембеддинзима и реранкером
Тестирање
Polygon, наш полигон за тестирање разговора → Како оцењујемо разговор
Обука
Cadence, радно окружење у ком тренирамо Oasis Speech. Јавни репозиторијум је форк нашег продукционог система, под MIT лиценцом → Cadence
Телефонија
SIP са Г.722 и Г.711, на Incoplax телефонији

Он-премисе, цео стек се инсталира на ваше сервере помоћу Доцкера, по потреби и без интернета. Server Unit носи 100 истовремених позива и тестиран је до 176% тога. Server Unit под оптерећењем

100 позива по Server Unit-у, тестирано до 176%

Server Unit носи цео гласовни стек за до 100 истовремених позива. Оптерећење смо подизали од једног позива до 176% називног капацитета и пратили време одговора, удео одговорених реплика и саме позиве. Затим смо оптимизовали стек за велико оптерећење и поновили тест: капацитет на Стандард нивоу се отприлике удвостручио, а на највишем кораку сви позиви су се повезали и ниједан није пао.

Измерено на једном Server Unit-у.

Server Unit под оптерећењем

У бројкама

Измерено на стенду за тест оптерећења са агентом за регрутацију, осим ако није другачије наведено.

  • ≈ 0,27 ссопствено време агента од последње речи позиваоца до првог звука агента
  • 35 мсод одлуке да је позивалац завршио до првог звука, уз рани старт
  • 96%реплика има препознати текст спреман у року од 10 мс од те одлуке
  • ≈ 100 мсдо првог звука свеже синтетизоване реченице (медијана)
  • ≈ 1 мсда се репродукује фраза која је већ у кешу гласа
  • 5–8×брже од стварног времена: колико брзо се глас синтетизује
  • 94%првих фраза долази из кеша гласа
  • 98%одговора покреће језички модел пре краја паузе
  • > 99%реплика позивалаца одговорено при 176% називног капацитета
  • ≈ 150 мсза брзу претрагу знања на серверу

Спремност препознавања: 96 до 97% од 58.000 реплика при свим оптерећењима. Брзина гласа: медијана 5,0 до 6,5× при различитим нивоима оптерећења, само промашаји кеша. Први звук свеже реченице: медијана 76 до 106 мс при различитим нивоима оптерећења.

Следећи корак

Чујте ту четврт секунде сами: на почетној страници је позив уживо са једним од наших агената.

Испробајте уживо

Придружите се чекој листи

Уводно отварамо приступ постепено. Обавестићемо вас када се отвори ваше место.