ai 26.1600.0 Заметное

AI 26.1600.0: новая модель YandexART, ошибки промптов и очистка истории без ORM-событий

3 мин чтения Устаревших API: 1
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

В AI 26.1600.0 генерация изображений YandexART перешла на aliceai-image-art-3.0. Обновление также чинит запись движков, выбор ролей по языку и ошибки действий над промптами. Свой код проверьте, если наследуете движки или подписались на удаление записей истории.

Новое

YandexART рисует другой моделью

Вместо yandex-art/latest движок использует aliceai-image-art-3.0. Запросы идут на https://ai.api.cloud.yandex.net/v1/images/generations, а путь задания в очереди сменился на /api/v1/yandex/image/generation. Из параметров генерации убран фиксированный seed = 2. Если сравниваете картинки до и после обновления, учитывайте смену модели и параметров запроса.

Проверка доступности YandexART в регионах ru и by вынесена в protected-метод isAvailableInRegion(?string $region) трейта YandexARTCommonTrait. Наследник может переопределить эту проверку отдельно от остальных условий доступности.

Свой движок задаёт контекст запроса

У Bitrix\AI\Engine\Engine методы resolveRequestContextCallType() и getRequestContextFeature() стали protected. Раньше они были private. Теперь наследник задаёт тип вызова, CallType::Interactive или Background, и метку функции, которую очередь получает в заголовках контекста. Это точки расширения для своих движков, отправляющих запросы через базовый completionsInQueue().

Ошибка в библиотеке промптов доходит до пользователя

Активация промптов и ролей, а также действия с владельцами теперь возвращают результат репозитория с ошибками. Раньше часть сервисов отвечала пустым успешным Result, и грид терял причину сбоя. Действия строк и групповые действия тоже передают ошибки дальше. Если промпт не удалось включить, пользователь больше не остаётся без сообщения о неудаче.

Исправлена и ошибка валидатора «не найдено по кодам»: двойной вызов Loc::getMessage() терял текст сообщения.

Движки сохраняются, роли не смешивают языки

Вставка новых Bitrix-движков раньше стояла под перевёрнутым условием: запись выполнялась при пустом наборе значений. Теперь BitrixEngineService::updateEngines() записывает найденные движки в b_ai_bitrix_engine.

Кеш RoleManager::getRolesByCode() разделён по языкам. До обновления в одном PHP-процессе запрос ролей на втором языке мог вернуть роли на первом. Выборка языковых правил ролей заодно стала учитывать переданные ID ролей.

Что сломается

Очистка контекста не вызывает события удаления истории

History\Manager::clearHistoryByContext() перешёл с построчного удаления на HistoryTable::deleteByFilter(). Этот метод выполняет один SQL DELETE, поэтому OnBeforeDelete, OnDelete и OnAfterDelete для отдельных записей больше не приходят. Изменение затрагивает и Context::clearContext(), который вызывает очистку истории. Если ваш модуль по этим событиям чистил связанные данные или вёл аудит, проверьте сценарий очистки целого контекста.

При пометке владельцев промпта на удаление ситуация обратная: OwnerTable::updateMulti() заменил сырой SQL, и ORM-события обновления теперь вызываются.

Проверьте наследников и тип результата

Удалена protected-константа Engine\Cloud\YandexART::DEFAULT_SEED. Обращение к ней из своего наследника закончится ошибкой.

SharePrompt\Service\PromptService::changeActivatePrompt() теперь возвращает UpdateResult вместо void. Методы SharePrompt\Repository\PromptRepository::changeActivatePrompts() и OwnerRepository::setDeleteFlagOnRows() возвращают UpdateResult вместо DB\Result. Исправьте старые типы в переопределениях; результат этих операций больше нельзя читать через fetch() как результат SQL-запроса.

Устаревшие и удалённые API в этой версии

Символ Статус Чем заменять
Bitrix\AI\Engine\Cloud\YandexART::DEFAULT_SEED Удалено —

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

ai 26.1500.0 Безопасность Свежее

AI 26.1300.0–26.1500.0: закрыта XSS в имени роли копилота, ответ из кеша больше не даёт ложный сбой очереди

В коробочный Битрикс24 пришли три версии модуля `ai`: 26.1300.0, 26.1400.0 и 26.1500.0. Обновиться стоит ради 26.1500.0. В нём меню копилота перестало вставлять имя пользовательской роли в страницу как HTML, а такие роли расшаривают на отделы и группы. В 26.1400.0 очередь ИИ-запросов перестала слать…

2 мин
ai 26.1200.0 Безопасность

AI 26.1200.0: запись истории ИИ-запросов через REST включает только администратор

В модуле `ai` коробочного Битрикс24 версии 26.1200.0 REST-методы `ai.history.enable` и `ai.history.disable` пускают только администратора. Они включают и выключают запись истории всех ИИ-запросов портала, а проверки администратора в них до этой версии не было. Ещё модуль перестал подключаться на лиц…

3 мин
ai 26.1100.0 Заметное

AI 26.1100.0: срок жизни задачи очереди ИИ-запросов задаётся на запрос

В модуле `ai` коробочного Битрикс24 версии 26.1100.0 срок жизни задачи очереди ИИ-запросов больше не зашит в четыре часа. Его задают на запрос через `Engine::setQueueJobTtl()`, момент истечения пишется в новую колонку `b_ai_queue.EXPIRE_DATE`, а просроченную задачу `QueueJob::createFromHash()` тепер…

4 мин
voximplant 26.900.0 Заметное Свежее

Voximplant 26.900.0: подписанные параметры экспорта статистики

Voximplant 26.900.0 подписывает имя компонента при экспорте детализации статистики. Обновление также исправляет REST-сценарии, отметку пропущенного переадресованного звонка и чтение настроек прокси.

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

AI Домовой История

на связи

пишет…

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

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти