ИИ-бот с базой знаний на своём сервере

Режим для компаний, которые не отдают материалы стороннему сервису. Все материалы для обучения бота, их разметка и хранение остаются на вашем сервере; у нас не хранится ничего - ни документы, ни фрагменты, ни векторы, ни правки ответов. Мы только формируем ответы покупателям - во всех каналах сразу: виджет, страница-чат, Telegram, MAX, чаты и отзывы Wildberries, Ozon и Яндекс Маркета.

Бот не обучается на ваших данных

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

Два адреса на вашей стороне

Каждый запрос подписан: заголовок X-CyberAI-Signature - это HMAC-SHA256 тела запроса на общем секрете, который вы задаёте в кабинете. Проверяйте подпись: адрес смотрит в интернет.

POST {ваш адрес}/knowledge/search - на каждый вопрос покупателя:

{ "query": "Есть скидка на три пачки?", "top_k": 6, "lang": "ru" }

200 OK
{ "chunks": [ { "id": "doc-12#3", "content": "При заказе от трёх упаковок...", "score": 0.87 } ] }

Ответ ждём за 3 секунды (настраивается, максимум 10) и не длиннее 12 000 символов суммарно. Не успели - бот честно скажет покупателю, что не знает: ждать дольше нельзя, человек в чате через 3-4 секунды тишины решает, что бот сломался. Потолок символов бережёт ваш же счёт: фрагменты идут в модель и оплачиваются по общей цене ответа.

POST {ваш адрес}/knowledge/correction - сюда уезжают правки, которые вы делаете в «Диалогах»:

{ "question": "Есть скидка на 3 пачки?", "answer": "Да, 10% от трёх упаковок." }

200 OK

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

Что поставить у себя

Нужен поиск по вашим материалам. Простой путь - полнотекстовый поиск на PostgreSQL: ставится за час, но не свяжет «возьму сразу три» с «от трёх упаковок скидка». Точный путь - векторный поиск: PostgreSQL с расширением pgvector и модель BAAI/bge-m3 (размерность 1024, понимает русский). Видеокарта не нужна: 4 ГБ памяти и обычный процессор.

Пошаговая инструкция для администратора - с командами, ожидаемым выводом, готовым индексатором, сервисом на FastAPI, systemd, nginx и сертификатом.

Проверка настроек

Раздел «Настройки бота», вкладка «Для разработчиков», блок «Материалы на моём сервере»: кнопка «Проверить настройки» проходит по восьми пунктам - протокол, разрешение домена, доступность порта с нашего адреса, срок сертификата, ответ поиска, запас по времени до таймаута, закрыт ли эндпоинт без подписи, приём правок - и на каждый отказ показывает, что именно случилось и какой командой это проверить у себя.

Включайте режим только после успешной проверки, иначе первым проверяющим станет покупатель. Запросы к вашему серверу приходят с адреса 157.228.138.231 - разрешите его, если у вас закрытый контур.

Что остаётся у нас

Переписка с покупателями (на ней держатся «Диалоги» и разбор жалоб) и счётчики списаний - без них нет биллинга. Ваши материалы - нет. И отдельно: фрагменты, которые прислал ваш сервер, передаются языковой модели в момент ответа, иначе ответа не будет.

Честная формулировка режима: мы не храним ваши материалы. Не «ваши данные никуда не уходят».