Наблюдаемость OpenAI

Материал из Документация Ключ-АСТРОМ
Версия от 20:44, 29 января 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «Ключ-АСТРОМ позволяет предприятиям автоматически собирать, визуализировать и настраив...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Ключ-АСТРОМ позволяет предприятиям автоматически собирать, визуализировать и настраивать оповещения о потреблении API‑запросов OpenAI, а также о задержках и стабильности работы — в сочетании со всеми другими сервисами, используемыми для создания AI‑приложения. Это включает как OpenAI, так и сервисы, такие как GPT‑3, Codex, DALL‑E или ChatGPT.

Ключ-АСТРОМ ЕдиныйАгент автоматически обнаруживает, отслеживает и защищает доступ к OpenAI — без какой‑либо ручной настройки. Он раскрывает полный контекст используемых технологий, показывает топологию взаимодействия сервисов, анализирует уязвимости безопасности, а также отслеживает метрики, трассировки, логи и бизнес‑события в режиме реального времени.

В следующих разделах показано:

  • как отслеживать запросы к моделям OpenAI/GPT;
  • как отображать «золотые сигналы» OpenAI на дашборде;
  • как Ключ-АСТРОМ ИИ автоматически выявляет аномальное поведение сервисов (например, замедление запросов к OpenAI/GPT) в качестве первопричины масштабных инцидентов.

Отслеживание запросов к моделям OpenAI

Для пояснения того, как Ключ-АСТРОМ ЕдиныйАгент автоматически отслеживает запросы к моделям OpenAI, используется простой пример на Node.js. OpenAI предоставляет языковое связывание для Node.js, которое позволяет напрямую интегрировать запрос к модели, добавив следующие строки кода в ваше собственное AI‑приложение на Node.js:

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({

  apiKey: process.env.OPENAI_API_KEY

});

const openai = new OpenAIApi(configuration);

const response = await openai.createCompletion({

        model: "text-davinci-003",

        prompt: "Say hello!",

        temperature: 0,

        max_tokens: 10,

      });

После запуска приложения ИИ на сервере, контролируемом ЕдинымАгентом, ЕдиныйАгент автоматически обнаруживает его и собирает трассировки и метрики для всех исходящих запросов.

Автоматическое внедрение кода мониторинга и трассировки работает не только для языковой привязки Node.js, но и при использовании необработанного HTTPS-запроса в Node.js.

Хотя OpenAI предлагает официальные языковые привязки только для Python и Node.js, существует длинный список языковых привязок, предоставляемых сообществом.

ЕдиныйАгент автоматически отслеживает все привязки C#, .NET, Java, Go и Node.js, но мы рекомендуем использовать инструментарий OpenTelemetry для мониторинга привязки OpenAI Python с помощью Ключ-АСТРОМ.

Для корректного разделения всех вызовов сервиса OpenAI необходимо настроить пользовательское устройство с доменом OpenAI в вашей среде Ключ-АСТРОМ.

  1. Перейдите в раздел Технологии.
  2. Выберите Пользовательские устройства.
  3. Выберите пункт Создать пользовательское устройство в меню в правом верхнем углу страницы.

После настройки пользовательского устройства OpenAI, Ключ-АСТРОМ ServiceFlow отображает поток ваших запросов, начиная с вашего сервиса Node.js и заканчивая вызовом модели OpenAI.

Ключ-АСТРОМ ЕдиныйАгент автоматически собирает всю информацию, связанную с задержкой и надежностью, а также все трассировки, показывающие, как ваши запросы OpenAI проходят через график вашего сервиса.

Бесперебойное отслеживание запросов моделей OpenAI позволяет операторам выявлять поведенческие закономерности в вашей среде сервисов ИИ и понимать типичную ситуацию нагрузки на вашу инфраструктуру.

Эти знания необходимы для дальнейшей оптимизации производительности и стоимости ваших сервисов. Добавив несколько строк кода ручной инструментации в ваш Node.js-сервис, вы также сможете отслеживать показатели стоимости с помощью ЕдиногоАгента, который собирает данные о количестве использованных разговорных токенов OpenAI. Ключ-АСТРОМ предлагает несколько способов сбора информации о содержимом запроса, например, о количестве токенов OpenAI.

Захват содержимого запроса с помощью Ключ-АСТРОМ может быть осуществлен следующим образом:

  • Запись информации в логи, сбор метрик и трассировка непосредственно из записей логов.
  • Отправка пользовательских метрик с использованием канала приема метрик ЕдиногоАгента.
  • Захват частей полезной нагрузки запроса с помощью бизнес-событий.

Отслеживание стоимости запросов OpenAI с помощью логов

Использование логов для сбора и анализа стоимости запросов OpenAI — это одновременно простой и эффективный способ. Он позволяет владельцу сервиса записывать строки логов, используя стандартный фреймворк логирования Node.js, такой как Winston, и собирать и анализировать эти логи в Ключ-АСТРОМ.

Приведенный ниже фрагмент кода записывает в лог Winston строку, содержащую количество токенов запросов OpenAI.

logger.log('info', `OpenAI response promt_tokens:${response.data.usage.prompt_tokens} completion_tokens:${response.data.usage.completion_tokens} total_tokens:${response.data.usage.total_tokens}`);

Строки логов запросов OpenAI можно просмотреть в программе просмотра логов Ключ-АСТРОМ.

Мы рекомендуем также включить обогащение контекста трассировки для логов Node.js (перейдите в Настройки > Предпочтения > Функции ЕдиногоАгента и включите Node.js Trace/span context enrichment for logs), чтобы автоматически сопоставлять все строки логов с захваченными трассировками запросов.

При включенной функции Node.js Trace/span context enrichment for logs вы даже получаете удобное сопоставление всех трассировок OpenAI с соответствующими строками логов.

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

После определения правила обработки логов, дополнительные правила извлечения метрик помогают преобразовать эти три значения количества токенов в метрики, пригодные для построения графиков.

Отслеживание стоимости запросов OpenAI, отправляя пользовательские метрики

Каждый запрос к модели OpenAI, такой как text-davinci-003, gpt-3.5-turbo или GPT-4, сообщает, сколько токенов было использовано для запроса (длина вашего текстового вопроса) и сколько токенов модель сгенерировала в ответ.

Клиенты OpenAI оплачивают услуги исходя из общего количества токенов, израсходованных всеми отправленными ими запросами.

Извлекая эти измерения токенов из возвращаемой полезной нагрузки и передавая их через Ключ-АСТРОМ ЕдиныйАгент, пользователи могут отслеживать потребление токенов во всех своих сервисах с поддержкой OpenAI в своей среде мониторинга.

Для извлечения количества токенов из ответа OpenAI и передачи этих трёх показателей в локальный OneAgent требуется следующее инструментирование.

function report_metric(openai_response) {

  var post_data = "openai.promt_token_count,model=" + openai_response.model + " " + openai_response.usage.prompt_tokens + "\n";

  post_data += "openai.completion_token_count,model=" + openai_response.model + " " + openai_response.usage.completion_tokens + "\n";

  post_data += "openai.total_token_count,model=" + openai_response.model + " " + openai_response.usage.total_tokens + "\n";

  console.log(post_data);

  var post_options = {

    host: 'localhost',

    port: '14499',

    path: '/metrics/ingest',

    method: 'POST',

    headers: {

      'Content-Type': 'text/plain',

      'Content-Length': Buffer.byteLength(post_data)

    }

  };

  var metric_req = http.request(post_options, (resp) => {}).on("error", (err) => { console.log(err); });

  metric_req.write(post_data);

  metric_req.end();

}

После добавления этих строк в ваш Node.js-сервис в Ключ-АСТРОМстанут доступны три новых показателя потребления токенов OpenAI.

Ключ-АСТРОМ ИИ автоматически определяет GPT как первопричину проблем

Одна из ключевых возможностей Ключ-АСТРОМ — способность Ключ-АСТРОМ ИИ автоматически изучать типичное поведение отслеживаемых сервисов.

При обнаружении аномального замедления работы или роста числа ошибок Ключ-АСТРОМ ИИ запускает анализ первопричин для выявления источника сложных ситуаций.

В нашем простом примере сервис на Node.js полностью зависит от ответа модели ChatGPT. Всякий раз, когда увеличивается задержка ответа модели или запрос к модели завершается с ошибкой, Ключ-АСТРОМ ИИ автоматически фиксирует это.

На странице сведений о проблеме в ИИ отображаются:

  • все затронутые сервисы;
  • генеративный сервис OpenAI как первопричина замедления;
  • эффект распространения (каскадное влияние) этого замедления.

Страница сведений о проблеме также содержит перечень всех целей уровня обслуживания (SLO), на которые негативно повлияло данное замедление.