Freigeben über


Verzeichnisermittlung

DevUI kann Agents und Workflows automatisch aus einer Verzeichnisstruktur ermitteln. Auf diese Weise können Sie mehrere Entitäten organisieren und alle mit einem einzigen Befehl starten.

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.

Verzeichnisstruktur

Damit Ihre Agents und Workflows von DevUI ermittelt werden können, müssen sie in einer bestimmten Verzeichnisstruktur organisiert sein. Jede Entität muss über eine __init__.py Datei verfügen, die die erforderliche Variable (agent oder workflow) exportiert.

entities/
    weather_agent/
        __init__.py      # Must export: agent = Agent(...)
        agent.py         # Agent implementation (optional, can be in __init__.py)
        .env             # Optional: API keys, config vars
    my_workflow/
        __init__.py      # Must export: workflow = WorkflowBuilder(start_executor=...)...
        workflow.py      # Workflow implementation (optional)
        .env             # Optional: environment variables
    .env                 # Optional: shared environment variables

Agent-Beispiel

Erstellen Sie ein Verzeichnis für Ihren Agent mit den erforderlichen __init__.py:

weather_agent/__init__.py:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient

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

agent = Agent(
    name="weather_agent",
    chat_client=OpenAIChatClient(),
    tools=[get_weather],
    instructions="You are a helpful weather assistant."
)

Die Schlüsselanforderung besteht darin, dass die __init__.py Datei eine Variable mit dem Namen agent (für Agents) oder workflow (für Workflows) exportieren muss.

Workflowbeispiel

my_workflow/__init__.py:

from agent_framework.workflows import WorkflowBuilder

workflow = (
    WorkflowBuilder(start_executor="my_executor")
    .add_executor(...)
    .add_edge(...)
    .build()
)

Umgebungsvariablen

DevUI lädt .env Dateien automatisch, wenn vorhanden:

  1. Entitätsebene .env: Im Agent-/Workflowverzeichnis platziert, nur für diese Entität geladen
  2. Übergeordnete Ebene .env: Platziert im Stammverzeichnis der Entitäten, geladen für alle Entitäten

Beispiel.env Datei:

OPENAI_API_KEY=sk-...
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/

Tipp

Erstellen Sie eine .env.example Datei, um erforderliche Umgebungsvariablen zu dokumentieren, ohne tatsächliche Werte verfügbar zu machen. Übernehmen Sie niemals .env Dateien mit echten Anmeldeinformationen zur Quellcodeverwaltung.

Starten durch Verzeichnisermittlung

Sobald Die Verzeichnisstruktur eingerichtet ist, starten Sie DevUI:

# Discover all entities in ./entities directory
devui ./entities

# With custom port
devui ./entities --port 9000

# With auto-reload for development
devui ./entities --reload

Wenn DevUI ohne ermittelte Entitäten beginnt, wird ein Beispielkatalog mit kuratierten Beispielen aus dem Agent Framework-Repository angezeigt. Sie haben folgende Möglichkeiten:

  • Durchsuchen verfügbarer Beispiel-Agents und Workflows
  • Herunterladen von Beispielen zum Überprüfen und Anpassen
  • Lokales Ausführen von Beispielen, um schnell loszulegen

Problembehandlung

Entität nicht erkannt

  • Stellen Sie sicher, dass die __init__.py Datei oder die agent oder workflow Variable exportiert wird.
  • Überprüfen auf Syntaxfehler in Ihren Python-Dateien
  • Überprüfen, ob sich das Verzeichnis direkt unter dem übergebenen Pfad befindet, der an devui

Umgebungsvariablen nicht geladen

  • Stellen Sie sicher, dass sich die .env Datei am richtigen Speicherort befindet.
  • Überprüfen von Dateiberechtigungen
  • Verwenden Sie das --reload-Flag, um Änderungen während der Entwicklung zu erfassen

Nächste Schritte