Раздел в стадии наполнения. Готовятся описания всех решений.
Обновления версий 0.9.97 - 1.1.16 модуля SenDev: 152-ФЗ Персональные данные не описаны в документации. Информацию уточняйте у разработчика
В течение недели выйдет полная обновленная документация
Журнал AI-запросов

Журнал AI-запросов в SenDev: AI Core

Страница «Журнал» показывает историю обращений к AI Core. Это основной раздел для проверки ошибок, контроля используемых провайдеров и моделей, оценки времени выполнения и анализа расходов.

Журнал особенно полезен, когда AI-функция вызывается не из «Песочницы», а из другого модуля. По записи можно понять, дошёл ли запрос до AI Core и чем завершилась обработка.

[Скриншот 1: таблица журнала с фильтром по провайдеру и статусу]

Какие запросы попадают в журнал

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

  • тесты из «Песочницы»;
  • текстовые запросы функциональных модулей;
  • генерация изображений;
  • успешные ответы;
  • ошибки провайдера, ограничения и другие неуспешные вызовы.

Объём сохраняемых данных зависит от настроек конкретного профиля и глобальных параметров журнала.

Фильтры

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

Если проблема возникает только у одного функционального модуля, дополнительно ориентируйтесь на столбец «Модуль / сценарий».

Количество записей на странице

Административная страница показывает последние записи в ограниченном объёме. Журнал предназначен прежде всего для оперативной диагностики, а не для хранения бесконечной истории.

Срок хранения регулируется в глобальных настройках AI Core. Если журнал растёт слишком быстро, проверьте период хранения и необходимость сохранения фрагментов запросов и ответов.

Столбцы таблицы

ID

Внутренний номер записи. Удобен для точного указания проблемного запроса при разборе ошибки.

Дата

Время выполнения запроса. Рядом может отображаться длительность в миллисекундах. По длительности можно заметить резкое замедление внешнего сервиса.

Тип

Показывает тип операции, например текстовый или графический запрос. Для изображений часть текстовых показателей, таких как токены, может отсутствовать — это нормально и зависит от формата ответа провайдера.

Статус

Показывает, успешно ли завершилась операция. При поиске проблемы сначала отберите неуспешные запросы.

Модуль / сценарий

Один из наиболее полезных столбцов. Он показывает, кто инициировал запрос и какой сценарий использовался.

Здесь можно увидеть:

  • идентификатор функционального модуля;
  • сценарий;
  • код промпта, если запрос был связан с библиотекой промптов.

Тесты из «Песочницы» имеют собственный идентификатор, поэтому их можно отличить от рабочих обращений.

Провайдер / модель

Показывает фактический маршрут запроса. Это важно, если в AI Core настроено несколько профилей: журнал подтверждает, какое подключение и какая модель были использованы на самом деле.

Токены

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

Отсутствие токенов в графическом запросе не является ошибкой — не все API возвращают такой показатель для изображений.

Стоимость

Если в профиле заполнены цены моделей и AI Core может рассчитать расход, в журнале отображается ориентировочная стоимость и валюта.

Для корректного контроля расходов важно поддерживать цены в профилях актуальными. AI Core не может самостоятельно гарантировать соответствие введённой цены текущему тарифу внешнего сервиса.

Запрос / ответ

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

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

Если сохранение предпросмотра отключено у провайдера, столбец может быть пустым. Это нормальное поведение.

Ошибка

При неуспешной операции здесь отображается сообщение об ошибке. Оно помогает отличить:

  • проблему авторизации;
  • недоступную модель;
  • исчерпанную квоту;
  • таймаут;
  • ошибку параметров запроса;
  • блокировку по лимитам AI Core;
  • другие проблемы внешнего сервиса.

[Скриншот 2: строка неуспешного запроса с модулем, провайдером и текстом ошибки]

Маскирование чувствительных данных

AI Core умеет скрывать чувствительные значения в сохраняемых фрагментах журнала. В стандартной настройке распознаются типы:

  • API key;
  • Bearer token;
  • Cookie;
  • Authorization;
  • электронная почта;
  • номер телефона.

Маскирование снижает риск случайного отображения секретов и персональных данных в административном журнале, но не отменяет осторожность при выборе того, какие данные отправляются во внешний AI-сервис.

Ограничение длины предпросмотра

AI Core хранит только ограниченный фрагмент запроса и ответа. Стандартное значение максимального предпросмотра — 2000 символов и может быть изменено в глобальных настройках.

Если длинный текст в журнале обрезан, это не означает, что провайдер получил только показанную часть. Ограничение относится именно к диагностическому предпросмотру.

Как искать причину ошибки

  1. Определите примерное время, когда пользователь выполнил действие.
  2. Откройте журнал и найдите запись нужного модуля/сценария.
  3. Проверьте статус.
  4. Посмотрите фактический провайдер и модель.
  5. Прочитайте сообщение в столбце «Ошибка».
  6. Если доступен предпросмотр, убедитесь, что входные данные сформированы ожидаемо.
  7. Повторите короткий тест тем же профилем в «Песочнице».
  8. При системной проблеме откройте «Диагностику».

Если ошибка авторизации

Откройте профиль провайдера и проверьте:

  • ключ или токен;
  • тип авторизации;
  • имя заголовка и префикс, если они используются;
  • Base URL;
  • не был ли ключ отозван или заменён во внешнем сервисе.

Не вставляйте сам ключ в журнал или комментарии для диагностики.

Если ошибка квоты или стоимости

Проверьте баланс внешнего сервиса и активные лимиты AI Core. Это два разных уровня контроля:

  • провайдер может отклонить запрос из-за собственной квоты или баланса;
  • AI Core может заранее заблокировать запрос из-за настроенного локального лимита.

Если запрос слишком долгий

Сравните длительность нескольких записей одного профиля. Если замедление наблюдается только у внешнего сервиса, проблема может быть на его стороне или связана с конкретной моделью.

Также проверьте таймаут профиля и глобальную настройку HTTP-таймаута. Для генерации изображений допустимое время ожидания обычно выше, чем для короткого текстового ответа.

Очистка журнала

На странице доступны команды очистки. В зависимости от выбранного фильтра можно удалить текущую выборку или очистить журнал полностью.

Перед полной очисткой убедитесь, что записи больше не нужны для:

  • разбора текущей ошибки;
  • оценки расхода;
  • контроля лимитов за текущий период.

Лимиты AI Core рассчитывают фактическое использование по успешным записям журнала за текущий день или месяц. Поэтому без необходимости не очищайте журнал в середине периода, если на него опирается контроль расходов.

[Скриншот 3: кнопки очистки журнала и пример фильтрованной выборки]

Рекомендуемые настройки для рабочего сайта

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

Итог

Журнал — первое место для разбора проблем рабочего AI-сценария. Он отвечает на четыре главных вопроса: кто сделал запрос, куда AI Core его отправил, чем он завершился и сколько ресурсов потребовал. После этого уже понятно, нужно ли исправлять промпт, профиль провайдера, лимиты или системную конфигурацию.