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


DevUI — пример приложения для запуска агентов и рабочих процессов

DevUI — это упрощенное автономное приложение для выполнения агентов и рабочих процессов в Microsoft Agent Framework. Он предоставляет веб-интерфейс для интерактивного тестирования вместе с серверной частью API, совместимой с OpenAI, что позволяет визуально отлаживать, тестировать и выполнять итерацию агентов и рабочих процессов перед интеграцией их в приложения.

Это важно

DevUI — это пример приложения для визуализации и отладки агентов и рабочих процессов во время разработки. Он не предназначен для использования в рабочей среде.

Ожидается в скором времени

В ближайшее время ожидается документация по DevUI для C#. Вернитесь позже или ознакомьтесь с документацией по Python для получения концептуальных рекомендаций.

Панель мониторинга Agent Framework DevUI с директорией агентов и отслеживанием

Функции

  • Веб-интерфейс: интерактивный пользовательский интерфейс для тестирования агентов и рабочих процессов
  • Гибкие типы входных данных: поддержка отправки текста, файлов и пользовательских типов входных данных на основе первого исполнителя рабочего процесса
  • Обнаружение на основе каталогов: Автоматическое обнаружение агентов и рабочих процессов из структуры каталогов
  • Регистрация в памяти: программная регистрация сущностей без настройки файловой системы
  • Совместимый с OpenAI API: Используйте OpenAI Python SDK для взаимодействия с вашими агентами
  • Примерная галерея: Просматривайте и скачивайте курированные примеры, когда не обнаружено сущностей.
  • Трассировка: просмотр трассировок OpenTelemetry для отладки и наблюдаемости

Типы входных данных

DevUI адаптирует свой входной интерфейс на основе типа сущности:

  • Агенты: поддержка текстовых входных и файловых вложений (изображений, документов и т. д.) для многомодальных взаимодействий
  • Рабочие процессы: входной интерфейс автоматически создается на основе типа ввода первого исполнителя. DevUI интроспектирует рабочий процесс и отражает ожидаемую схему ввода, что упрощает тестирование рабочих процессов со структурированными или настраиваемыми типами входных данных.

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

Installation

Установите DevUI из PyPI:

pip install agent-framework-devui --pre

Краткое руководство

Вариант 1. Программная регистрация

Запустите DevUI с агентами, зарегистрированными в памяти:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
from agent_framework.devui import serve

def get_weather(location: str) -> str:
    """Get weather for a location."""
    return f"Weather in {location}: 72F and sunny"

# Create your agent
agent = Agent(
    name="WeatherAgent",
    chat_client=OpenAIChatClient(),
    tools=[get_weather]
)

# Launch DevUI
serve(entities=[agent], auto_open=True)
# Opens browser to http://localhost:8080

Вариант 2. Обнаружение каталогов (CLI)

Если у вас есть агенты и рабочие процессы, организованные в структуре каталогов, запустите DevUI из командной строки:

# Launch web UI + API server
devui ./agents --port 8080
# Web UI: http://localhost:8080
# API: http://localhost:8080/v1/*

Дополнительные сведения о требуемой структуре каталогов см. в статье "Обнаружение каталогов ".

Использование пакета SDK OpenAI

DevUI предоставляет API ответов, совместимых с OpenAI. С помощью пакета SDK Для Python OpenAI можно взаимодействовать с агентами:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"  # API key not required for local DevUI
)

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},  # Your agent/workflow name
    input="What's the weather in Seattle?"
)

# Extract text from response
print(response.output[0].content[0].text)

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

Параметры командной строки

devui [directory] [options]

Options:
  --port, -p      Port (default: 8080)
  --host          Host (default: 127.0.0.1)
  --headless      API only, no UI
  --no-open       Don't automatically open browser
  --tracing       Enable OpenTelemetry tracing
  --reload        Enable auto-reload
  --mode          developer|user (default: developer)
  --auth          Enable Bearer token authentication
  --auth-token    Custom authentication token

Дальнейшие шаги