Телефон
Входящий и исходящий голос, а также SMS. Без телефонных звонков.
Что это делает
Распознавание и синтез речи работают на собственном сервере (self-hosted) с маршрутизацией по провайдерам для каждого языка. Слой управления очередностью обрабатывает прерывания и потоковую передачу на уровне предложений, чтобы разговор не напоминал рацию. Отдельный канал SMS для текстовых сообщений реализован за флагом функций.
Почему это важно
Голос — это то, где концепция «ассистента» либо оживает, либо рушится, и задержка решает всё. Локальный хостинг речи означает, что время отклика не зависит от очереди стороннего сервиса.
Как это работает
Речевые функции по умолчанию работают локально (self-hosted)
Распознавание и синтез работают в отдельных контейнерах с маршрутизацией по провайдерам для языков, которые локальные модели обрабатывают плохо.
Явное управление очередностью реплик
Шлюз очереди и разделитель предложений управляют прерываниями и потоковой передачей, не дожидаясь полного ответа перед началом воспроизведения.
Телефония поддерживает только SMS и отключена по умолчанию
Канал SMS реализован, но скрыт за флагом и требует аккаунта оператора. Голосовые вызовы изначально не входили в рамки проекта, и мы их не создавали.
Вопросы
- Может ли мой агент отвечать на звонки?
- Нет. Входящие и исходящие звонки отсутствуют. Голос работает в браузере; телефония поддерживает только SMS и сейчас отключена.
- Какие языки поддерживаются для речи?
- Широкий набор с маршрутизацией к разным провайдерам для каждого языка, включая отдельного провайдера для индийских языков, где общие модели работают хуже.
The rest of the bag
AccessControl
Права доступа на уровне документов, которые фильтруют ответы, а не только страницы.
Для скорости применение политик кэшируется для каждой сессии; изменение прав распространяется при инвалидации кэша, а не мгновенно для каждого выполняющегося запроса.
Документация
Дерево папок, которое читает агент, и файл конфигурации, которому он подчиняется.
Извлечение охватывает PDF-файлы, таблицы и стенограммы. Экзотические бинарные форматы не обрабатываются.
События
Надежный журнал того, что делали агенты и почему.
Внутрипроцессная шина событий представляет собой одноузловой источник событий, а не распределенный брокер. Надежный журнал взаимодействия между агентами — это отдельный реестр задач в Postgres.
That was step 1 of 6: a request arrives. Next, the subdomain is the isolation boundary, so the request resolves to one workspace, one database, and one question of whether it is even in scope.