SvayaИИ-платформаТехнические решенияПродуктыВнедрение
ВойтиПопробовать бесплатно

Устройство платформы

Помодульное описание платформы для тех, кто хочет изучить ее технически. Четырнадцать модулей, у каждого - схема работы.

Обсудить пилотТребования к серверуПроба редактора маршрутов

Стопка документов режется на фрагменты и раскладывается в картотеку с лупой

Путь запроса

Конвейер обработки запроса

Каждый шаг задачи, на котором работает ИИ-модель, идет одним и тем же конвейером из одиннадцати стадий. Порядок объявлен заранее и от задачи не зависит.

↻
↻
1Чтение правил шагаобъявление шага из пакета задачи
2Разрешение входаданные по объявленным путям, класс каждого
3Сбор контекстапоиск по документам, разбор файлов, история диалога
4Сборка задания для языковой моделинайденное подставляется в шаблон инструкции
5Граница доверияопределяется маршрут данных, персональные данные заменяются обозначениями
граница ваших серверов
6Вызов ИИ-моделиязыковой или специализированной, в пределах разрешенного маршрута
7Приведение ответа к схемеответ не по форме уходит на переделку
8Обратная заменанастоящие значения на место обозначений
9Проверки после ответаопора на найденные документы, форматы, фильтры вывода
10Проверка результатасверка с объявленной схемой до возврата
11Возврат результатаответ уходит тому, кто вел процесс
Через все одиннадцать стадий проходит запись. Каждая стадия пишет свою строку с временем, входом и результатом.
↻Внешняя скобка - это петля агентского шага. Повторяет стадии с третьей по девятую. Включается точечно, там, где ее объявляет маршрут, и всегда с объявленным заранее пределом проходов.
↻Коралловая скобка - это петля ремонта. Если ответ не прошел проверку формата, языковая модель вызывается заново, и повторный вызов проходит границу доверия целиком, а не в обход.
  • Две коралловые стадии - это рубеж. До пятой текст находится только на ваших серверах, после нее может уйти во внешнюю языковую модель.
  • По умолчанию проход линейный и предсказуемый. Самостоятельность языковой модели включается отдельным видом шага, а не появляется сама.
  • Для шагов без ИИ-модели, например обращения к вашей системе, неприменимые стадии пропускаются.
Что языковая модель решает сама внутри шага

Замена персональных данных и обратная замена

Перед отправкой текста во внешнюю ИИ-модель платформа заменяет персональные данные обозначениями, а в готовом ответе возвращает настоящие значения на место.

Исходный текстс персональными данными
Поиск персональных данныхнесколько независимых распознавателей, находки объединяются
  • шаблоны с контрольными суммами
  • словари и контекстные маркеры
  • распознавание имен и адресов обученной моделью
Замена на обозначенияодно значение в любых падежах дает одно обозначение
обезличенный текст
граница ваших серверов
Языковая модельвидит только обозначения, настоящих значений не видит
Ответ сотрудникус настоящими значениями на своих местах
Обратная заменапо карте замен, которая ваши серверы не покидает
Ответ с обозначениямиприходит от языковой модели
  • Распознается 28 категорий, от ФИО, телефонов и СНИЛС до номеров счетов, БИК, кадастровых номеров и номеров судебных дел.
  • В спорных случаях действует правило «сомнение означает замену». Цена выбора названа прямо, потому что иногда языковая модель получает обозначение вместо слова, заменять которое было не нужно.
  • Карта соответствия настоящих значений и обозначений хранится зашифрованной и ваши серверы не покидает.
  • Для языковой модели, работающей на ваших серверах, замена не обязательна и включается правилами задачи.
  • Числовые пороги полноты замены мы не публикуем. Замер вы делаете сами, своим эталонным набором, на своей платформе.

Поиск по документам

Документы разбираются, режутся на фрагменты и индексируются на ваших серверах. Поиск гибридный, смысловой вместе с полнотекстовым.

Полоса первая. Индексация, идет заранее
Хранилище документовсканы и файлы
Разбор и распознаваниеоткрытый распознаватель с поддержкой русского
Нарезка на фрагменты
Смысловые представлениявнутренний сервис на обычных процессорах, видеокарта не нужна
Указательвекторный и полнотекстовый, метка доступа пишется в каждый фрагмент
Полоса вторая. Поиск, идет на каждый запрос
Запрос сотрудника
Векторный поискпо смыслу
Полнотекстовый поискпо словам, с русской морфологией
Слияние по рангамдва списка сводятся в один
Переранжированиесортировка по близости к вопросу
Выдачатолько документы, доступные спросившему
  • Смысловые представления считаются только внутренними моделями. Поля для адреса внешнего сервиса в настройках не существует, потому что запрет держит сама схема настроек.
  • Права применяются на стороне указателя, поэтому недоступный документ не виден даже фактом своего существования.
  • Модели поиска легкие и работают на обычных процессорах. Видеокарта поиску не нужна.
  • Регламенты ведутся с историей версий, а контроль актуальности сам поднимает документы, которым пора на пересмотр.
Что платформа помнит между обращениями

Единая точка вызова моделей

Все обращения к ИИ-моделям идут через одну точку. Шаг задачи заказывает класс модели, а не конкретного поставщика, поэтому смена поставщика не трогает ни код, ни задачи.

Шаг задачизаказывает класс модели, легкий, стандартный или сильный
Единая точка вызовачто проверяется на каждом обращении
  • отметка «текст обезличен»
  • разрешенный маршрут данных
  • предел расхода
  • учет потребления
GigaChatвнешний поставщик
YandexGPTвнешний поставщик
Своя модельна ваших серверах, наружу не уходит ничего
Отказвнешний вызов без отметки «текст обезличен» не проходит
Соответствие класса и поставщика задается настройками платформы. Смена поставщика - это правка настройки, а не кода.
  • Это вторая линия защиты после замены персональных данных, потому что обращение наружу без отметки об обезличивании отклоняется.
  • При сбое поставщика запрос уходит на резервную модель, но только внутри разрешенных маршрутов данных. Российская меняется на российскую, внешняя на внешнюю.
  • Разные задачи одной платформы работают на разных языковых моделях одновременно.
  • Сбойный поставщик ставится на паузу, отказ возвращается с машиночитаемым статусом.

ИИ-модели на ваших серверах

Когда данные не должны уходить наружу, ИИ-модели работают у вас. Генеративные работают на видеокартах, быстрые специализированные на обычных процессорах.

Блок на процессорах, видеокарта не нужна
Специализированные модели
  • классификаторы
  • скоринг с перечнем повлиявших признаков
  • смысловые представления текста
  • переранжирование
Реестр моделейпроисхождение, набор данных, метрики, версия
дешевый фильтр перед дорогим вызовом
Блок на видеокартах, от одной карты до шести
Компактная модельна одной карте, задачи без разбора изображений
Сильная текстовая модельрядом с компактной, две-три карты
Модель разбора изображенийкогда нужен разбор сканов и фотографий
  • Штатный прием экономии - дешевый процессорный фильтр перед дорогим вызовом генеративной модели. Ставит его маршрут задачи, а не разработчик руками.
  • Скоринг воспроизводим, и к оценке прилагается перечень признаков, которые на нее повлияли.
  • Веса ИИ-моделей приходят в подписанном комплекте поставки и сверяются по контрольным суммам.
  • Сетевого доступа за пределы ваших серверов у этого блока нет.

Контроль

Управление доступом

Каждое действие проверяется единой точкой решения. Вопрос всегда один, может ли этот субъект сделать это действие с этим объектом.

Сотрудниквход по OIDC, ваш единый вход настройкой
Служебная учетная записьдля вызовов между сервисами
Посетитель без входапубличный канал
Keycloakвход и выдача пропусков
Точка решениядва слоя правил
  • базовые политики ядра
  • правила слоя соответствия, только запреты и требования
Процессы и точки решения человеком
Документы и экраны
  • Роли вычисляются на сервере, а не приходят из тела запроса.
  • Любая ошибка вычисления, недоступность данных или правило с ошибкой дают отказ, а не пропуск.
  • Правила слоя соответствия действуют только в границах своего пакета задачи и умеют запрещать, но не разрешать сверх базовых политик.
  • Отказы попадают в журнал действий. Метки доступа уходят в поисковый указатель, поэтому поиск не показывает недоступное.
  • Подключение вашего единого входа по протоколам OIDC или SAML делается настройкой, без правки кода.

Журналирование

Каждая стадия каждого запроса оставляет след. Записи журнала сцеплены контрольными суммами, поэтому правку задним числом видно.

События всех модулейвсе стадии всех запросов
Сборпо открытому стандарту OpenTelemetry
ClickHouseтаблицы записей и журнала, только добавление
Просмотрщикразбор запроса по шагам
Проверка целостностикомандой из комплекта
Выгрузка для проверяющего
Записи журнала сцеплены, и каждая несет контрольную сумму предыдущей
Событие 13f9a…c7d2
Событие 2b1e4…6a08
Событие 39c72…4fd1
Событие 4e57b…2a90
Ежечасная контрольная точкав хранилище с запретом перезаписи
⚠Разрыв цепочки. Правка или удаление события рвет сцепление сумм, и проверка целостности показывает, где именно.
  • В след попадают только обезличенные данные.
  • Роль-писатель умеет только добавлять, роли-читатели только читать. Удаления из журнала нет.
  • Просмотрщик показывает разбор запроса по шагам с инструкциями для языковой модели и найденным контекстом.
  • Журнал по умолчанию не удаляется. Глубина хранения технических записей задается настройкой, в боевом профиле 90 дней.

Оценка качества ответов

У каждой задачи есть набор проверочных заданий с заранее известными правильными результатами. Один и тот же стенд работает у нас и у вас.

Наш запуск, перед выпуском новой версии
Проверочные задания из пакета задачи
Итог в числах сверяется с порогами
Пороги не пройдены, выпуск блокируетсяновая версия не выходит
Ваш запуск, стенд включается настройкой
Те же задания на ваших данных
Все считается на ваших серверахданные наружу не выносятся
Решение по итогам пилотадостигнута согласованная метрика или нет
  • Эталонные результаты у нашего выпуска и у вашей платформы свои, они не смешиваются.
  • Тем же запуском ловится ухудшение качества после смены инструкции, ИИ-модели или пакета задачи.
  • Свой эталонный набор вы собираете по шаблону задачи, он говорит, что размечать и в каком объеме. Запуск в одну кнопку.
  • Отчет ставит рядом два числа, ваш нынешний уровень и то, что дает платформа.
Как платформа проверяет ответы и что делает при провале проверки

Из чего собраны задачи

Шаблоны прикладных задач

Задача поставляется одним пакетом объявлений. Исполняемого кода в нем нет, и проверка отклоняет пакет с кодом внутри еще до того, как он попадет на сервер.

Пакет задачиобъявления одним комплектом
  • маршрут процесса
  • инструкции для языковой модели
  • схемы данных
  • настройки поиска
  • экраны операторов
  • объявления ИИ-моделей
  • правила соответствия, семь файлов
Проверка до приема
  • сверка со схемой
  • закрытые списки полей
  • разбор выражений без запуска
  • исполняемый код отклоняется
Принятреестр с версиями и активацией, задача 1.4 активна, 1.3 в архиве
Отклоненкод или поле вне схемы
Ваши доработки лежат отдельно от пакета и обновлением пакета не затираются.
  • Обновление пакета не трогает уже запущенные процессы, потому что версия фиксируется при старте и процесс доживает на своей.
  • Новая отраслевая задача - это новый пакет, а не правка ядра платформы.
  • Часть шаблонов - это каркасы, общие для отраслей, извлечение реквизитов из документа и сверка документа со сводом требований. Оба настраиваются объявлением полей под конкретный тип документа.

Управление процессами

Долгий процесс, например кредитная заявка или урегулирование убытка, идет по маршруту из пакета задачи. Маршрут описан данными, без исполняемого кода.

Маршрутузлы, переходы, ветвления, версия фиксируется при старте
Движок процессовядро в нескольких копиях, исполняет маршрут по узлам
Шаг процесса
Решает человекочередь операторов, срок ожидания
Завершениемаршрут пройден
Отказповторы исчерпаны, откат сделанных действий
Все состояние процессов лежит в PostgreSQL, там очередь, точки решения человеком и журнал шагов. Отдельный брокер очередей не нужен.
⚑Задача выдается копии ядра в аренду. Если копия упала, аренда истекает и задачу подхватывает другая, а результат записывается ровно один раз.
  • Точку решения человеком нельзя обойти прямым вызовом программного интерфейса.
  • Порог, выше которого решение уходит человеку, задают правила соответствия. Автоматический проход ниже порога остается в журнале отдельной отметкой.
  • Процесс переживает перезапуск и отказ любой копии ядра.
  • Короткие сценарии, чат и поиск по витрине, идут отдельным путем в памяти, без записи процесса в базу.
Где обязателен человек и когда маршрут проходит точку сам

Подключения к вашим системам

К вашим системам платформа подключается модулями по открытому протоколу MCP. Договор каждого модуля закреплен схемами.

сетевой периметр вашей компании
Платформапроцессы и запросы
Модули подключенияединый способ вызова, контракт задан схемой
1Смодуль поставляется готовым
CRM и банковская система
Хранилище документов
Исходящий трафиквесь, без исключений
Единственный выходной узелсписок разрешенных адресов
Внешние адресатолько из списка
  • Соединения идут только изнутри наружу. Входящих портов открывать не нужно.
  • Учетные данные ваших систем хранятся только в хранилище секретов платформы.
  • Модуль к 1С поставляется готовым, транспорт в нем общий для всех конфигураций, а под вашу схему данных настраивается только сопоставление полей.
  • Отдельный модуль по расписанию опрашивает внешние нормативные источники, например санкционные перечни, и обновляет по ним корпус поиска.
  • Правила сетевого экрана переживают перезапуск, остальные сети изолированы.

Рабочие места

Экраны собираются из объявлений пакета задачи, а не верстаются под каждого заказчика заново. Новая задача получает рабочее место без правок ядра.

Экраны работы с задачей
Экран контролерасотрудник проверяет решения ИИ
  • проект решения
  • объяснение, какие признаки повлияли
  • документы-основания
  • полная запись обработки
  • вернуть можно только с комментарием
Экран операторадля задач, у которых нет своей системы
  • список и карточки заявок
  • форма ввода
  • чат с ассистентом по базе знаний
Экран службы безопасности и аудиторажурнал действий платформы
  • поиск по журналу
  • решения без участия человека помечены
  • из каждой записи открывается полный разбор
Экраны, которыми вы вводите платформу в работу сами
Загрузка и профиль данныхзаполненность, дубли, выбросы, сопоставление колонок
Настройка задачипороги, правила, очередь подтверждения
Замер качестваэталонный набор, запуск одной кнопкой
Работа с потокомзадача сразу на список, сводный статус, выгрузка файлом
  • Запись в данные идет только операцией процесса. Прямой записи из интерфейса нет.
  • Экран оператора нужен только задачам без своей системы. Если заявки уже ведутся в 1С или CRM, сотрудник остается там, а платформа пишет результат туда же.
  • Персональные данные в журнале заменены обозначениями.
  • Доработанные под вас экраны подключаются через версионируемые точки доработки.

Эксплуатация

Развертывание и выпуск

Платформа описана одним файлом. Инструмент развертывания работает без интернета и из пустой машины делает работающую платформу одним запуском.

Полоса первая. Развертывание
Базовая частьодинаковая у всех
Профильдемонстрационный, боевой, закрытый
Ваши настройки
Файл-описаниепроверяется по схеме
Сборкаинструмент развертывания
Работающая платформаодна команда запуска, интернет не нужен
Полоса вторая. Обновление без остановки работы
Резервная копиярабочей считается только после проверочного восстановления
Новая версия рядом со старой
Перевод запросовсо старой версии на новую
Остановка старойкогда все запросы уже идут на новую
↻Откат. База обновляется в две фазы. До завершающей фазы возможен возврат запросов на старую версию, после нее возврат идет восстановлением из копии.
Полоса третья. Доставка в сеть без интернета
Подписанный комплект
  • образы контейнеров
  • подписи подлинности
  • полный список состава
  • отчет сканера уязвимостей
Перенос на носителе
Проверка сумм до распаковки
Платформа в закрытой сети
  • Ручная правка на сервере ловится сверкой с файлом-описанием.
  • Полный список состава ваша служба безопасности проверяет своим сканером до того, как платформа появится на сервере.
  • Настройки прошлых версий хранятся рядом, возврат к ним предусмотрен.
  • Запускает развертывание ваш инженер по руководству оператора из комплекта. Там же лежит порядок восстановления с чистого сервера.
  • Для пилота идет готовый слой настроек малой конфигурации, подбирать ничего не нужно.
Требования к серверу

Ядро платформы и лицензия

Ядро - это один сервис, собранный из независимых модулей, а не парк из десятков микросервисов. Поэтому сопровождать платформу может небольшая команда.

Ядро платформы, один сервис из независимых модулей
Доступ
Движок процессов
Шаблоны задач
Рабочие места
Лицензии
Каждый стык описан так же строго, как внешний интерфейс, со схемой данных, номером версии и автоматическими проверками. Напрямую в чужие данные модуль не лезет.
Отдельные сервисы рядом с ядром, список закрыт
Замена персональных данных
Поиск
Обработка запросов
Запуск ИИ-моделей
Лицензия и техническая статистика
Файл лицензииподписан нами, подделка обнаруживается
  • удостоверяет, что за поставка и чья
  • подтверждает право на обновления
  • дает одно из двух оснований для статистики
Пункт договора
Флаг в ваших настройках
нужны оба сразу
Канал статистикитолько версии, счетчики и сводные числа
  • Лицензия ничего не отключает. При любых проблемах с ней платформа продолжает работать.
  • Ступень лицензии считается от числа завершенных задач, которое платформа измеряет сама. Счетчик виден вам в отчете потребления.
  • Если хотя бы одного из двух оснований нет, канала статистики нет. Текстов, документов и персональных данных в нем не бывает ни при каких настройках.
  • Ваши доработки подключаются через точки доработки, заранее объявленные места с именем, программным интерфейсом и версией. Код доработки хранится отдельно от ядра.
  • Несовместимое обновление обнаруживается заранее сверкой версий и не применяется, пока доработка не адаптирована.

Куда дальше

Проверить готовность своего сервера

  • Опубликованные требования для пилота и для промышленной работы
  • У каждого числа назван источник

Требования к серверу

Попробовать редактор маршрутов

  • Правка маршрута готовыми операциями прямо в браузере
  • Отвечает та же проверка, что стоит на работающей платформе

Проба редактора маршрутов

Посмотреть записи запусков

  • У каждого технического решения каталога есть готовый пример
  • Видно документ на входе, ответ платформы и разбор по шагам

Каталог технических решений