Partilhar via


DevUI - Uma aplicação de exemplo para executar agentes e fluxos de trabalho

O DevUI é uma aplicação de exemplo leve e autónoma para executar agentes e fluxos de trabalho no Microsoft Agent Framework. Fornece uma interface web para testes interativos juntamente com um API backend compatível com OpenAI, permitindo-lhe depurar visualmente, testar e iterar os agentes e fluxos de trabalho que constrói antes de os integrar nas suas aplicações.

Importante

O DevUI é uma aplicação de exemplo para te ajudar a visualizar e depurar os teus agentes e fluxos de trabalho durante o desenvolvimento. Não se destina a uso em produção.

Brevemente

A documentação DevUI para C# está a chegar em breve. Por favor, volte a consultar mais tarde ou consulte a documentação em Python para orientações conceptuais.

Painel DevUI do Agent Framework que mostra diretório de agentes e rastreio

Caraterísticas

  • Interface Web: Interface interativa para agentes de teste e fluxos de trabalho
  • Tipos de Entrada Flexíveis: Suporte para texto, carregamento de ficheiros e tipos de entrada personalizados baseados no primeiro executor do seu fluxo de trabalho
  • Descoberta Baseada em Diretório: Descobrir automaticamente agentes e fluxos de trabalho a partir de uma estrutura de diretórios
  • In-Memory Registo: Registar entidades através de programação sem configuração do sistema de ficheiros
  • OpenAI-Compatible API: Use o SDK Python da OpenAI para interagir com os seus agentes
  • Galeria de Exemplos: Navegue e descarregue exemplos selecionados quando não forem descobertas entidades
  • Rastreio: Consulte rastreios OpenTelemetry para depuração e observabilidade

Tipos de entrada

O DevUI adapta a sua interface de entrada com base no tipo de entidade:

  • Agentes: Suportam entrada de texto e anexos de ficheiros (imagens, documentos, etc.) para interações multimodais
  • Fluxos de trabalho: A interface de entrada é gerada automaticamente com base no tipo de entrada do primeiro executor. O DevUI introspeciona o fluxo de trabalho e reflete o esquema de entrada esperado, facilitando o teste de fluxos de trabalho com tipos de entrada estruturados ou personalizados.

Este tratamento dinâmico das entradas permite-lhe testar os seus agentes e fluxos de trabalho exatamente como receberiam o input na sua aplicação.

Installation

Instalar o DevUI a partir do PyPI:

pip install agent-framework-devui --pre

Início Rápido

Opção 1: Registo Programático

Iniciar o DevUI com agentes registados em memória:

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

Opção 2: Descoberta de Diretórios (CLI)

Se tiver agentes e fluxos de trabalho organizados numa estrutura de diretórios, inicie o DevUI a partir da linha de comandos:

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

Consulte Descoberta de Diretórios para detalhes sobre a estrutura de diretórios necessária.

Usando o OpenAI SDK

O DevUI fornece uma API de Respostas compatível com OpenAI. Pode usar o SDK Python da OpenAI para interagir com os seus agentes:

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)

Para mais detalhes sobre a API, consulte Referência da API.

Opções de CLI

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

Próximas Etapas