Partilhar via


Descoberta de Diretórios

O DevUI pode descobrir automaticamente agentes e fluxos de trabalho a partir de uma estrutura de diretórios. Isto permite-lhe organizar várias entidades e lançá-las todas com um único comando.

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.

Estrutura do diretório

Para que os seus agentes e fluxos de trabalho sejam descobertos pela DevUI, devem estar organizados numa estrutura de diretórios específica. Cada entidade deve ter um __init__.py ficheiro que exporte a variável necessária (agent ou 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

Exemplo de Agente

Crie um diretório para o seu agente com os requisitos __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."
)

O requisito chave é que o __init__.py ficheiro deve exportar uma variável chamada agent (para agentes) ou workflow (para fluxos de trabalho).

Exemplo de Fluxo de Trabalho

my_workflow/__init__.py:

from agent_framework.workflows import WorkflowBuilder

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

Variáveis de ambiente

O DevUI carrega ficheiros .env automaticamente se existirem.

  1. Nível .envde entidade: Colocado no diretório de agente/fluxo de trabalho, carregado apenas para essa entidade
  2. Nível .env-pai: Localizado no diretório raiz das entidades, carregado para todas as entidades

Exemplo .env de ficheiro:

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

Sugestão

Crie um .env.example ficheiro para documentar as variáveis de ambiente necessárias sem expor valores reais. Nunca coloques .env ficheiros com credenciais reais no controlo de código-fonte.

Lançamento com Directory Discovery

Depois de configurar a estrutura de diretórios, inicie o 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 o DevUI começa sem entidades descobertas, apresenta uma galeria de exemplos com exemplos selecionados do repositório Agent Framework. É possível:

  • Navegue pelos agentes e fluxos de trabalho de amostra disponíveis
  • Descarregue exemplos para rever e personalizar
  • Analise amostras localmente para começar rapidamente

Solução de problemas

Entidade não descoberta

  • Garantir que o __init__.py ficheiro exporta agent ou workflow variável
  • Verifica erros de sintaxe nos teus ficheiros Python
  • Verifique se o diretório está diretamente por baixo do caminho passado para devui

Variáveis de ambiente não carregadas

  • Certifique-se de que o .env ficheiro está no local correto
  • Verificar permissões de ficheiro
  • Use --reload a bandeira para detetar alterações durante o desenvolvimento

Próximas Etapas