Журнал 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 символов и может быть изменено в глобальных настройках.
Если длинный текст в журнале обрезан, это не означает, что провайдер получил только показанную часть. Ограничение относится именно к диагностическому предпросмотру.
Как искать причину ошибки
- Определите примерное время, когда пользователь выполнил действие.
- Откройте журнал и найдите запись нужного модуля/сценария.
- Проверьте статус.
- Посмотрите фактический провайдер и модель.
- Прочитайте сообщение в столбце «Ошибка».
- Если доступен предпросмотр, убедитесь, что входные данные сформированы ожидаемо.
- Повторите короткий тест тем же профилем в «Песочнице».
- При системной проблеме откройте «Диагностику».
Если ошибка авторизации
Откройте профиль провайдера и проверьте:
- ключ или токен;
- тип авторизации;
- имя заголовка и префикс, если они используются;
- Base URL;
- не был ли ключ отозван или заменён во внешнем сервисе.
Не вставляйте сам ключ в журнал или комментарии для диагностики.
Если ошибка квоты или стоимости
Проверьте баланс внешнего сервиса и активные лимиты AI Core. Это два разных уровня контроля:
- провайдер может отклонить запрос из-за собственной квоты или баланса;
- AI Core может заранее заблокировать запрос из-за настроенного локального лимита.
Если запрос слишком долгий
Сравните длительность нескольких записей одного профиля. Если замедление наблюдается только у внешнего сервиса, проблема может быть на его стороне или связана с конкретной моделью.
Также проверьте таймаут профиля и глобальную настройку HTTP-таймаута. Для генерации изображений допустимое время ожидания обычно выше, чем для короткого текстового ответа.
Очистка журнала
На странице доступны команды очистки. В зависимости от выбранного фильтра можно удалить текущую выборку или очистить журнал полностью.
Перед полной очисткой убедитесь, что записи больше не нужны для:
- разбора текущей ошибки;
- оценки расхода;
- контроля лимитов за текущий период.
Лимиты AI Core рассчитывают фактическое использование по успешным записям журнала за текущий день или месяц. Поэтому без необходимости не очищайте журнал в середине периода, если на него опирается контроль расходов.
[Скриншот 3: кнопки очистки журнала и пример фильтрованной выборки]
Рекомендуемые настройки для рабочего сайта
- Оставьте логирование включённым хотя бы для рабочих провайдеров, которые требуют диагностики.
- Храните маскированный предпросмотр только там, где он действительно нужен.
- Настройте разумный срок хранения.
- Не увеличивайте длину предпросмотра без причины.
- Периодически просматривайте повторяющиеся ошибки и отключайте неработающие профили.
Итог
Журнал — первое место для разбора проблем рабочего AI-сценария. Он отвечает на четыре главных вопроса: кто сделал запрос, куда AI Core его отправил, чем он завершился и сколько ресурсов потребовал. После этого уже понятно, нужно ли исправлять промпт, профиль провайдера, лимиты или системную конфигурацию.