Condividi tramite


Scoperta della directory

DevUI può individuare automaticamente agenti e flussi di lavoro da una struttura di directory. In questo modo è possibile organizzare più entità e avviarle tutte con un singolo comando.

Prossimamente

La documentazione di DevUI per C# sarà presto disponibile. Si prega di controllare più tardi o fare riferimento alla documentazione di Python per indicazioni concettuali.

Struttura directory

Affinché gli agenti e i flussi di lavoro vengano individuati da DevUI, devono essere organizzati in una struttura di directory specifica. Ogni entità deve avere un __init__.py file che esporta la variabile richiesta (agent o 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

Esempio di agente

Creare una directory per l'agente con gli elementi necessari __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."
)

Il requisito chiave è che il __init__.py file deve esportare una variabile denominata agent (per gli agenti) o workflow (per i flussi di lavoro).

Esempio di flusso di lavoro

my_workflow/__init__.py:

from agent_framework.workflows import WorkflowBuilder

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

Variabili di ambiente

DevUI carica automaticamente i .env file, se presenti:

  1. .envLivello di entità: posizionato nella directory dell'agente/flusso di lavoro, caricato solo per quell'entità
  2. .envLivello principale: inserito nella directory radice delle entità, caricato per tutte le entità

File di esempio .env :

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

Suggerimento

Creare un .env.example file per documentare le variabili di ambiente necessarie senza esporre i valori effettivi. Non effettuare mai il commit .env dei file con credenziali reali nel sistema di controllo del codice sorgente.

Avvio con scoperta delle directory

Dopo aver configurato la struttura di directory, avviare DevUI:

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

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

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

Quando DevUI inizia senza entità individuate, visualizza una raccolta di esempi con esempi curati dal repository di Agent Framework. È possibile:

  • Esplorare gli agenti e i flussi di lavoro di esempio disponibili
  • Scaricare esempi per esaminare e personalizzare
  • Eseguire esempi in locale per iniziare rapidamente

Risoluzione dei problemi

Entità non individuata

  • Assicurarsi che il file __init__.py esporti agent o la variabile workflow.
  • Verificare la presenza di errori di sintassi nei file Python
  • Verificare che la directory sia direttamente sotto il percorso passato a devui

Variabili di ambiente non caricate

  • Verificare che il .env file si trova nel percorso corretto
  • Controllare le autorizzazioni dei file
  • Usare il flag --reload per raccogliere le modifiche durante lo sviluppo

Passaggi successivi