Dela via


Upptäckning av katalog

DevUI kan automatiskt identifiera agenter och arbetsflöden från en katalogstruktur. På så sätt kan du organisera flera entiteter och starta dem alla med ett enda kommando.

Kommer snart

DevUI-dokumentationen för C# kommer snart. Kom tillbaka senare eller se Python-dokumentationen för konceptuell vägledning.

Katalogstruktur

För att dina agenter och arbetsflöden ska kunna identifieras av DevUI måste de organiseras i en specifik katalogstruktur. Varje entitet måste ha en __init__.py fil som exporterar den obligatoriska variabeln (agent eller workflow).

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

Agentexempel

Skapa en katalog för din agent med det nödvändiga __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."
)

Det viktigaste kravet är att __init__.py filen måste exportera en variabel med namnet agent (för agenter) eller workflow (för arbetsflöden).

Arbetsflödesexempel

my_workflow/__init__.py:

from agent_framework.workflows import WorkflowBuilder

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

Miljövariabler

DevUI läser automatiskt in .env filer om det finns:

  1. Entitetsnivå .env: Placeras i katalogen agent/arbetsflöde, endast inläst för den entiteten
  2. Överordnad nivå .env: Placeras i entiteternas rotkatalog, laddad för alla entiteter

Exempelfil .env :

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

Tips/Råd

Skapa en .env.example fil för att dokumentera nödvändiga miljövariabler utan att exponera faktiska värden. Lämna aldrig in .env filer med verkliga autentiseringsuppgifter i källkontrollsystemet.

Starta med katalogidentifiering

När katalogstrukturen har konfigurerats startar du DevUI:

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

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

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

När DevUI börjar utan identifierade entiteter visas ett exempelgalleri med utvalda exempel från Agent Framework-lagringsplatsen. Du kan:

  • Bläddra bland tillgängliga exempelagenter och arbetsflöden
  • Ladda ned exempel för att granska och anpassa
  • Kör exempel lokalt för att komma igång snabbt

Felsökning

Entiteten har inte identifierats

  • __init__.py Se till att filen exporterar agent eller workflow variabeln
  • Sök efter syntaxfel i Dina Python-filer
  • Kontrollera att katalogen är direkt under sökvägen som skickas till devui

Miljövariabler har inte lästs in

  • Kontrollera att .env filen är på rätt plats
  • Kontrollera filbehörigheter
  • Använd --reload flaggan för att hämta ändringar under utvecklingen

Nästa steg