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


Трассировка приложения с помощью пакета SDK потока запросов | Azure AI Studio

Внимание

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

Трассировка — это мощный инструмент, который предлагает разработчикам глубокое понимание процесса выполнения своих создаваемых приложений ИИ, таких как агенты, AutoGen и варианты использования расширенного поколения (RAG). Он предоставляет подробное представление потока выполнения, включая входные и выходные данные каждого узла в приложении. Эта важная информация оказывается важной при отладке сложных приложений или оптимизации производительности.

Хотя другие разработчики используют различные платформы, такие как Langchain, семантический ядро, OpenAI и различные типы агентов для создания приложений на основе LLM. Трассировка с помощью пакета SDK потока запросов обеспечивает улучшенную видимость и упрощенное устранение неполадок для приложений на основе LLM, эффективно поддерживая разработку, итерацию и рабочую среду мониторинга. Трассировка в AI Studio соответствует спецификации OpenTelemetry, захвату и визуализации внутренних сведений о выполнении любого приложения ИИ, повышая общий опыт разработки.

Преимущества трассировки AI Studio на облачной платформе корпоративного уровня

Кроме того, теперь мы предлагаем постоянное локальное тестирование на платформе AI Studio, которая является облачной платформой корпоративного уровня, значительно повышая совместную работу, сохраняемость и управление журналом тестов.

С помощью трассировки можно:

  • Укажите облачное расположение для сохранения и отслеживания исторических тестов.
  • Легко извлекать и визуализировать результаты теста, сравнивая выходные данные различных тестовых вариантов.
  • Повторно используйте предыдущие тестовые ресурсы для последующего использования, например отзывы человека, курирование данных и т. д.
  • Более эффективное использование ресурсов в будущем.
  • Отладка и оптимизация приложения с легкостью. Чтобы приступить к отладке сценариев приложений LLM, обратитесь к трассировке с помощью приложения LLM.
  • Анализ процессов извлечения и создания в приложениях RAG.
  • Наблюдайте за взаимодействием с несколькими агентами в сценариях с несколькими агентами. Чтобы приступить к трассировке в сценариях с несколькими агентами, см . раздел "Трассировка с помощью AutoGen".

Журналы и просмотр трассировок приложений

AI Studio предоставляет возможность трассировки для ведения журнала и управления тестами и оценками приложений LLM, при отладке и наблюдении путем детализации представления трассировки.

Трассировка любой функции приложения сегодня реализована в пакете с открытым кодом с открытым кодом, чтобы разрешить пользователю отслеживать вызов или функцию LLM, а также платформы LLM, такие как LangChain и AutoGen, независимо от используемой платформы, следуя спецификации OpenTelemetry.

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

Сначала код— убедитесь, что вы заметили код для трассировки в потоке запросов!

Дополнительные сведения о трассировке в потоке запросов см . в этой документации по потоку запросов.

Регистрация трассировки в AI Studio

Установка назначения трассировки

По умолчанию трассировка регистрируется и просматривается в локальной среде. Чтобы войти в среду AI Studio в облаке, необходимо задать trace destination для указанного проекта AI Studio.

Чтобы задать назначение трассировки в проект AI Studio, см. следующие действия.

Сначала убедитесь, что Azure CLI установлен и вошел в систему:

az login

Затем выполните следующую команду, чтобы задать назначение трассировки. Замените и <your_resourcegroup_name><your_studio_project_name> укажите <your_subscription_id>идентификатор подписки, имя группы ресурсов и имя проекта AI Studio:

pf config set trace.destination=azureml://subscriptions/<your_subscription_id>/resourcegroups/<your_resourcegroup_name>/providers/Microsoft.MachineLearningServices/workspaces/<your_studio_project_name>

Примечание.

Регион "Западная часть США 3westus3" не поддерживает трассировку.

Коллекции

Коллекция — это группа связанных трассировок. В AI Studio эти коллекции вместе с внутренними трассировками управляются и хранятся в модуле трассировки на вкладке "Коллекции".

  1. Перейдите к проекту в AI Studio.

  2. В левой области выберите "Трассировка". Вкладка "Коллекции" отображается. В списке коллекций можно просмотреть только собственные коллекции. В этом примере еще нет коллекций.

    Снимок экрана: кнопка для добавления нового подключения.

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

  • Расположение выполнения: указывает, выполняется ли приложение локально или в облаке. Облачная коллекция связана с определенным журналом тестов облачной разработки потока запросов и созданными трассировками. В этом случае имя коллекции совпадает с отображаемым именем потока запроса.
  • Обновлено: показывает самое последнее время, когда новая трассировка была записана в коллекцию. По умолчанию коллекции сортируются в порядке убывания в зависимости от времени обновления.
  • Создано: время создания коллекции.

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

При ведении журнала трассировки у вас есть возможность указать имя коллекции для группировки его с другими связанными трассировками. Можно создать несколько коллекций для лучшей организации трассировок. Если имя коллекции не указано при ведении журнала трассировки, по умолчанию используется имя папки проекта или коллекция по умолчанию.

Настройка коллекций

Для лучшей организации трассировок можно указать имя пользовательской коллекции при ведении журнала трассировки.

Если вы выполняете трассировку собственного приложения, вы можете задать имя коллекции в функции в коде start_trace() :

from promptflow.tracing import start_trace, trace

@trace
def my_function(input: str) -> str:
    output = input + "Hello World!"
    return output

my_function("This is my function")
start_trace(collection="my_custom_collection")

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

Просмотр трассировок

Сначала необходимо выполнить предыдущие действия, чтобы просмотреть трассировки в облаке:

Теперь запустите скрипт Python напрямую. После успешного выполнения в выходных данных появится ссылка облачной трассировки. Оно должно выглядеть примерно следующим образом:

Starting prompt flow service...
...
You can view the traces in cloud from AI Studio: https://ai.azure.com/projecttrace/detail/....

Выбор URL-адреса для перехода на страницу сведений о трассировки на облачном портале. Эта страница похожа на локальное представление трассировки.

Представление сведений о трассировки предоставляет полный и структурированный обзор операций в приложении.

Общие сведения о представлении сведений о трассировки

В правом верхнем углу представления трассировки вы найдете:

  • Имя трассировки: это то же самое, что имя корневого диапазона, представляющее имя функции записи приложения.
  • Состояние: это может быть "завершено" или "не удалось".
  • Общая длительность: это общее время выполнения теста. Наведите указатель мыши, чтобы просмотреть время начала и окончания.
  • Общий объем маркеров: это общая стоимость токена теста. Наведите указатель мыши, чтобы просмотреть маркеры запроса и завершенные маркеры.
  • Время создания: время создания трассировки.

В левой части можно увидеть иерархическую структуру дерева. Эта структура показывает последовательность вызовов функций. Метаданные каждого вызова функции упорядочены в диапазоны. Эти диапазоны связаны друг с другом в виде дерева, иллюстрируя последовательность выполнения.

В пакете SDK потока запросов мы определили несколько типов диапазонов, включая LLM, Function, Embedding, Retrieval и Flow. Система автоматически создает диапазоны с информацией о выполнении в указанных атрибутах и событиях.

Каждый диапазон позволяет просматривать:

  • Имя функции: по умолчанию это имя функции, как определено в коде. Однако это также может быть настраиваемое имя диапазона, определенное с помощью Open Telemetry.
  • Длительность: это длительность выполнения функции. Наведите указатель мыши, чтобы просмотреть время начала и окончания.
  • Маркеры для вызовов LLM: это стоимость маркера вызова LLM. Наведите указатель мыши, чтобы просмотреть маркеры запроса и завершенные маркеры.

Выбрав определенный диапазон, можно перейти к просмотру связанной с ней подробной информации справа. Эти сведения включают входные, выходные данные, необработанные json, журналы и исключения, необходимые для наблюдения и отладки приложения.

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

Вы можете выбрать необработанную вкладку JSON , чтобы просмотреть данные json диапазона. Этот формат может быть более подходящим для разработчиков, когда речь идет об отладке и устранении неполадок.

Общий доступ к трассировки

Если вы хотите поделиться трассировкой с другими пользователями, у которых есть разрешение на проект, можно нажать кнопку "Общий доступ" в правом углу страницы сведений о трассировки, а затем вы скопировали ссылку на страницу для совместного использования с другими пользователями.

Примечание.

Общая трассировка доступна только для чтения, и только те, кто имеет разрешение на проект, могут просматривать его по ссылке.