Версия 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.