BLACKBENCH

Все работы RagReply


ИИ-системы · 2026

RagReply


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

Чтобы бизнесу хватило загрузить свои документы — и агент отвечал текстом, голосом и в звонке, ссылаясь на источник.

Цифры

5
задач ИИ: речь в текст, перевод, эмбеддинги, генерация, синтез речи
3
способа проверить агента: текстом, голосом, звонком
pgvector
семантический поиск в Postgres 16
EN
язык чанков — документы нормализуются до индексации

Задача

У бизнеса ответы уже написаны: прайс, расписание, описание услуг, условия записи. Проблема в том, что они лежат файлами, а чат-бот на общей модели отвечает не по ним — придумывает цены и часы работы. Заказчику нужна была панель, где владелец загружает те же документы, что и так есть, а агент отвечает только по ним и показывает, из какого файла взята каждая цифра.

Вторая часть задачи — деньги и доверие. Одна модель на всё либо дорогая, либо плохая: расшифровка голоса, перевод, векторизация, ответ и синтез речи стоят по-разному и требуют разного качества. А перед тем как выпускать агента к клиентам, его должен кто-то помучить неудобными вопросами — тем же способом, каким с ним будут разговаривать: текстом, голосом и по телефону.

Решение

Загруженный документ приводится к английским чанкам и индексируется в pgvector: поиск идёт по смыслу, а не по совпадению слов, и русский вопрос находит ответ в русском документе через общее векторное пространство.

Пять задач ИИ настраиваются раздельно — у каждой своё соединение и своя модель. Дешёвая модель расшифровывает голос, сильная отвечает, локальный Whisper может заменить облачный: счёт за агента собирается по задачам, а не по одному тарифу.

Соединения описываются как OpenAI-совместимые endpoint'ы — базовый URL, тип и ключ. Смена провайдера или переезд на свою модель не трогают код: это строка в настройках.

Ответ возвращается со списком файлов-источников, поэтому проверка «откуда он это взял» занимает секунду, а не разбор логов.

База знаний изолирована по клиентам: у каждого свои документы, своя индексация и своя проверка — на той же базе, которая уйдёт в прод.

Экраны

Все показанные данные — синтетические, без привязки к реальным клиентам.

Клиенты: у каждого своя база знаний и свой счётчик документов — панель ведёт несколько агентов сразу. Салон, стоматология и автосервис придуманы для портфолио и засеяны seed_ragreply.py — это не список заказчиков.
База знаний клиента: язык документа, число чанков и статус индексации; переиндексация запускается кнопкой, не миграцией.
Проверка агента, диалог подготовленный: ответ собран дословно из чанков, засеянных в базу знаний этого клиента, а не получен от живой модели; файлы-источники перечислены под ответом. Рядом — микрофон и звонок.
Соединения: провайдер описывается базовым URL, типом и ключом — так подключается любой OpenAI-совместимый endpoint, включая локальный.
Вход: панель закрыта паролем — за ней лежат документы клиентов.

Стек

Next.js
PostgreSQL 16 + pgvector
OpenAI-совместимые API, локальные и облачные
Проверка агента текстом, голосом и звонком
Мультиклиентская модель: своя база знаний у каждого клиента