Версия 2.4.9#

Вышел новый релиз Sherpa AI Server: Версия 2.4.9.

1. Надёжность экрана Чат#

На экране Чат индикатор работы больше не пропадает, пока run активен. При ошибке в ленте показываются текст ошибки и кнопка «Повторить».

Название диалога теперь строится по первому сообщению пользователя, а не по фрагменту документа; выдуманные темы от языковой модели отбрасываются. Генерация заголовка больше не завершается ошибкой 500 на длинном ответе reasoning-модели: незакрытый служебный блок размышлений вырезается, заголовок обрезается до 256 символов.

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

2. Источники ответа Ассистента#

На экране Чат технические RAG-чанки скрыты в свёрнутом блоке источников ответа. Блок можно раскрыть; в раскрытом виде он занимает всю ширину области ответа и показывает источники в три колонки.

Это упрощает чтение ответа Ассистента и оставляет доступ к техническим источникам при необходимости.

3. Настройки чата и модель по умолчанию#

Если у аккаунта нет собственных моделей, в настройках чата показывается стандартная модель из окружения Sherpa AI Server.

Это помогает начать работу в чате без предварительной настройки моделей для нового аккаунта.

4. API-токены#

На экране API-токенов у каждой записи в таблице появилась иконка перегенерации секрета. После подтверждения старое значение токена перестаёт действовать, новое показывается один раз.

Диалог создания и редактирования API-токена приведён к цветам и классам темы брендбука: поля и кнопки читаются в тёмной теме. Исправлен текст подтверждения перегенерации и ошибка доступа 403 при вызове метода перегенерации.

Перегенерация секрета также доступна через API:

POST /api/v1/api_tokens/{api_token_guid}/regenerate

Это упрощает безопасную ротацию ключей интеграций без создания новой записи токена.

5. Создание аккаунта#

На экране Аккаунты при создании дочернего аккаунта можно включить копирование моделей и экземпляров моделей от родительского аккаунта. В форме доступна соответствующая галочка; в API используется параметр copy_models_and_instances в POST /api/v1/accounts.

Это ускоряет развёртывание новых аккаунтов с уже настроенным набором моделей.

6. Экран Модели#

При удалении модели её экземпляры каскадно помечаются удалёнными. Имя экземпляра у удалённой модели больше не блокирует создание новой модели с тем же именем.

Подпись поля экземпляра модели уточнена: «Подпуть» (продолжение пути), а не «Под путь».

Это снижает путаницу при настройке внешних провайдеров и упрощает повторное использование имён.

7. Боковое меню#

Для раздела «Ассистенты» в боковом меню восстановлена иконка молнии вместо иконки пользователей.

Это помогает быстрее отличать раздел ассистентов от соседних пунктов меню.

8. Автоочистка зависших run#

Добавлена периодическая автоочистка run в статусах waiting и in_progress, которые старше заданного времени (по умолчанию 24 часа). Задача выполняется фоновым job supervisord; для ручного запуска доступен CLI backend/bin/run-stuck-cleanup.php.

Параметры настраиваются администратором через переменные окружения RUN_STUCK_TTL_HOURS и RUN_STUCK_CLEANUP_INTERVAL_SECONDS.

Новых экранов продукта для этого изменения нет. Это помогает администратору поддерживать стабильность долгоживущих инсталляций и не накапливать «зависшие» диалоги.

9. OCR и Docker-образ LLM#

Лимит страниц PDF OCR (PDF_OCR_MAX_PAGES, по умолчанию 1000) и остальные операционные параметры OCR вынесены в файлы .env.* с описанием.

Docker-образ для локальной языковой модели переведён на Python 3.13 и согласованный стек vLLM 0.27.1 с проверкой зависимостей и smoke-import при сборке.

Новых экранов продукта для этих изменений нет. Это упрощает администратору настройку OCR и обновление GPU-окружения.

10. Безопасная отправка данных во внешний LLM#

Для agent-run через внешний DIT LLM перед вызовом chat/completions выполняется очистка исходящих данных: из истории удаляется код aiserver_python, содержимое tool-сообщений обрезается с учётом UTF-8. Режим включается автоматически для подключений DIT/i.moscow и через переменную окружения LLM_OUTBOUND_SANITIZE_TOOL_PAYLOADS=1 (описание в .env.*).

Это снижает риск передачи лишних технических данных во внешний провайдер и повышает стабильность интеграций.

11. Улучшенная документация API#

В Swagger для POST /api/v1/folders/{folder_guid}/files/{file_guid}/chunks описано пустое тело {}, подстановка account_guid сервером и отличие от addChunk; добавлены ответы 400, 500 и 501.

Документация API доступна в Swagger: https://aiserver.sherparpa.ru/api/docs/swagger

Это упрощает интеграции и снижает число ошибок проверки данных при работе через Swagger или curl.