Трассировка приложения с помощью пакета 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# для выполнения вывода с помощью синхронных и асинхронных методов.