Поделиться через


Наблюдаемость в семантическом ядре

Краткое введение в наблюдаемость

При создании решений искусственного интеллекта вы хотите наблюдать за поведением служб. Наблюдаемость — это возможность отслеживать и анализировать внутреннее состояние компонентов в распределенной системе. Это ключевое требование для создания корпоративных решений ИИ.

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

Полезные материалы для дальнейшего чтения:

Наблюдаемость в семантическом ядре

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

В частности, семантический ядро предоставляет следующие функции наблюдаемости:

  • Ведение журнала: семантическое ядро регистрирует значимые события и ошибки из ядра, подключаемых модулей ядра и функций, а также соединителей ИИ. Журналы и события

    Внимание

    Трассировки в Application Insights представляют традиционные записи журнала и события диапазона OpenTelemetry. Они не совпадают с распределенными трассировками.

  • Метрики: семантический ядро выдает метрики из функций ядра и соединителей ИИ. Вы сможете отслеживать такие метрики, как время выполнения функции ядра, использование маркеров соединителей ИИ и т. д. Метрики
  • Трассировка: семантическое ядро поддерживает распределенную трассировку. Вы можете отслеживать действия в разных службах и в семантических ядрах. Завершение сквозной транзакции запроса
Телеметрия Description
Журнал Журналы записываются на протяжении ядра. Дополнительные сведения о входе в .NET см. в этом документе. Конфиденциальные данные, такие как аргументы и результаты функции ядра, регистрируются на уровне трассировки. Дополнительные сведения об уровнях журнала см. в этой таблице .
Действие (Activity) Каждое выполнение функции ядра и каждый вызов модели искусственного интеллекта записываются как действие. Все действия создаются источником действия с именем Microsoft.SemanticKernel.
Метрика Семантический ядро записывает следующие метрики из функций ядра:
  • semantic_kernel.function.invocation.duration (гистограмма) — время выполнения функции (в секундах)
  • semantic_kernel.function.streaming.duration (гистограмма) — время выполнения потоковой передачи функции (в секундах)
  • semantic_kernel.function.invocation.token_usage.prompt (гистограмма) — количество использования маркеров запроса (только для KernelFunctionFromPrompt)
  • semantic_kernel.function.invocation.token_usage.completion (гистограмма) — количество использования маркеров завершения (только для KernelFunctionFromPrompt)
Телеметрия Description
Журнал Журналы записываются на протяжении ядра. Дополнительные сведения о ведении журнала в Python см. в этом документе. Конфиденциальные данные, такие как аргументы и результаты функции ядра, регистрируются на уровне отладки.
Развертывание Каждый цикл вызова автоматической функции, выполнение каждой функции ядра и каждый вызов модели ИИ записывается в виде диапазона.
Метрика Семантический ядро записывает следующие метрики из функций ядра:
  • semantic_kernel.function.invocation.duration (гистограмма) — время выполнения функции (в секундах)
  • semantic_kernel.function.streaming.duration (гистограмма) — время выполнения потоковой передачи функции (в секундах)

Примечание.

Наблюдаемость семантического ядра пока недоступна для Java.

Соглашение о семантике OpenTelemetry

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

Примечание.

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

Следующие шаги

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