Freigeben über


DevUI – Eine Beispiel-App für laufende Agents und Workflows

DevUI ist eine einfache, eigenständige Beispielanwendung für die Ausführung von Agents und Workflows im Microsoft Agent Framework. Es stellt eine Webschnittstelle für interaktive Tests zusammen mit einem openAI-kompatiblen API-Back-End bereit, sodass Sie agents und Workflows, die Sie erstellen, visuell debuggen, testen und durchlaufen können, bevor Sie sie in Ihre Anwendungen integrieren.

Von Bedeutung

DevUI ist eine Beispiel-App , mit der Sie Ihre Agents und Workflows während der Entwicklung visualisieren und debuggen können. Es ist nicht für den Produktionseinsatz vorgesehen.

In Kürze verfügbar

DevUI-Dokumentation für C# wird in Kürze verfügbar sein. Bitte schauen Sie später wieder vorbei, oder lesen Sie die Python-Dokumentation, um konzeptionelle Anleitungen zu erhalten.

DevUI-Dashboard des Agent-Frameworks mit Agentverzeichnis und Ablaufverfolgung

Features

  • Webschnittstelle: Interaktive Benutzeroberfläche zum Testen von Agents und Workflows
  • Flexible Eingabetypen: Unterstützung für Text, Dateiuploads und benutzerdefinierte Eingabetypen basierend auf dem ersten Executor Ihres Workflows
  • Directory-Based Discovery: Automatisches Ermitteln von Agents und Workflows aus einer Verzeichnisstruktur
  • In-Memory Registrierung: Registrieren von Entitäten programmgesteuert ohne Dateisystemeinrichtung
  • OpenAI-Compatible-API: Verwenden des OpenAI Python SDK für die Interaktion mit Ihren Agents
  • Beispielkatalog: Durchsuchen und Herunterladen kuratierter Beispiele, wenn keine Entitäten gefunden werden
  • Ablaufverfolgung: Anzeigen von OpenTelemetry-Ablaufverfolgungen für Debugging und Beobachtbarkeit

Eingabetypen

DevUI passt seine Eingabeschnittstelle basierend auf dem Entitätstyp an:

  • Agents: Unterstützung von Text- und Dateieingabe (Bilder, Dokumente usw.) bei multimodalen Interaktionen
  • Workflows: Die Eingabeschnittstelle wird automatisch basierend auf dem Eingabetyp des ersten Executors generiert. DevUI untersucht den Workflow und spiegelt das erwartete Eingabeschema wider, wodurch es einfach wird, Workflows mit strukturierten oder benutzerdefinierten Eingabetypen zu testen.

Mit dieser dynamischen Eingabebehandlung können Sie Ihre Agents und Workflows genau so testen, wie sie in Ihrer Anwendung Eingaben erhalten würden.

Installation

Installieren Sie DevUI von PyPI:

pip install agent-framework-devui --pre

Quick Start

Option 1: Programmgesteuerte Registrierung

Starten Sie DevUI mit im Arbeitsspeicher registrierten Agents:

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

Option 2: Directory Discovery (CLI)

Wenn Sie Agents und Workflows in einer Verzeichnisstruktur organisiert haben, starten Sie DevUI über die Befehlszeile:

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

Details zur erforderlichen Verzeichnisstruktur finden Sie unter Verzeichnisermittlung .

Verwenden des OpenAI SDK

DevUI stellt eine openAI-kompatible Antwort-API bereit. Sie können das OpenAI Python SDK verwenden, um mit Ihren Agents zu interagieren:

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)

Weitere Informationen zur API finden Sie in der API-Referenz.

CLI-Optionen

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

Nächste Schritte