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


Трассировка приложения с помощью пакета SDK для вывода искусственного интеллекта Azure

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этой статье вы узнаете, как отслеживать приложение с помощью пакета SDK для вывода искусственного интеллекта Azure с помощью Python, JavaScript или C#. Клиентская библиотека вывода ИИ Azure обеспечивает поддержку трассировки с помощью OpenTelemetry.

Включение трассировки в приложении

Необходимые компоненты

  • подписка Azure;
  • Проект ИИ Azure см . на портале Azure AI Foundry.
  • Модель искусственного интеллекта, поддерживающая API вывода модели ИИ, развернутую с помощью ИИ Foundry.
  • Если используется Python, необходимо установить Python 3.8 или более поздней версии, включая pip.
  • При использовании JavaScript поддерживаемые среды — это версии LTS Node.js.

Установка

Установите пакет azure-ai-inference с помощью диспетчера пакетов, например pip:

  pip install azure-ai-inference[opentelemetry] 

Установите подключаемый модуль трассировки Azure Core OpenTelemetry, OpenTelemetry и экспортер OTLP для отправки данных телеметрии в серверную часть наблюдаемости. Чтобы установить необходимые пакеты для Python, используйте следующие команды pip:

pip install opentelemetry 

pip install opentelemetry-exporter-otlp 

Дополнительные сведения о пакете SDK для вывода искусственного интеллекта Azure для Python и наблюдаемости см. в статье "Трассировка с помощью пакета SDK для вывода" для Python.

Дополнительные сведения см. в справочнике по пакету SDK для вывода.

Настройка

Необходимо добавить следующие параметры конфигурации в соответствии с вашим вариантом использования:

  • Чтобы записать содержимое запроса и завершения, задайте для переменной AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED среды значение true (без учета регистра). По умолчанию запросы, завершения, имена функций, параметры или выходные данные не записываются.

  • Чтобы включить трассировку пакета SDK Azure, задайте AZURE_SDK_TRACING_IMPLEMENTATION для переменной среды значение opentelemetry. Кроме того, его можно настроить в коде со следующим фрагментом кода:

    from azure.core.settings import settings 
    
    settings.tracing_implementation = "opentelemetry" 
    

    Дополнительные сведения см . в клиентской библиотеке OpenTelemetry трассировки Azure Core для Python.

Включение инструментирования

Последний шаг — включить инструментирование вывода ИИ Azure со следующим фрагментом кода:

from azure.ai.inference.tracing import AIInferenceInstrumentor 

# Instrument AI Inference API 

AIInferenceInstrumentor().instrument() 

Кроме того, с помощью вызова неинструкций можно не достраивать API вывода ИИ Azure. После этого вызова трассировки больше не будут выдаваться API вывода ИИ Azure, пока инструмент не будет вызван еще раз:

AIInferenceInstrumentor().uninstrument() 

Трассировка собственных функций

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

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

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

  • Примеры Python, содержащие полностью запускаемый код Python для трассировки с помощью синхронных и асинхронных клиентов.
  • Примеры JavaScript, содержащие полностью запускаемый код JavaScript для трассировки с помощью синхронных и асинхронных клиентов.
  • Примеры C#, содержащие полностью запущенный код C# для выполнения вывода с помощью синхронных и асинхронных методов.