Compartilhar via


Descoberta de diretório

O DevUI pode descobrir automaticamente agentes e fluxos de trabalho de uma estrutura de diretório. Isso permite que você organize várias entidades e inicie todas elas com um único comando.

Em breve

A documentação do DevUI para C# estará disponível em breve. Verifique novamente mais tarde ou consulte a documentação do Python para obter diretrizes conceituais.

Estrutura de diretório

Para que seus agentes e fluxos de trabalho sejam descobertos pelo DevUI, eles devem ser organizados em uma estrutura de diretório específica. Cada entidade deve ter um __init__.py arquivo 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 seu agente com o necessário __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 principal é que o __init__.py arquivo deve exportar uma variável nomeada 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 carregará .env arquivos automaticamente se houver:

  1. Nível .envde entidade: colocado no diretório agente/fluxo de trabalho, carregado somente para essa entidade
  2. Nível .envpai: colocado no diretório raiz das entidades, carregado para todas as entidades

Exemplo de arquivo .env:

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

Dica

Crie um .env.example arquivo para documentar as variáveis de ambiente necessárias sem expor valores reais. Nunca confirme .env arquivos com credenciais reais no controle do código-fonte.

Inicialização com descoberta de diretório

Depois que a estrutura do diretório estiver configurada, 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, ele exibe uma galeria de exemplo com exemplos coletados do repositório do Agent Framework. É possível:

  • Navegue por agentes de exemplo e fluxos de trabalho disponíveis
  • Baixar exemplos para examinar e personalizar
  • Executar exemplos localmente para começar rapidamente

Resolução de problemas

Entidade não descoberta

  • Verifique se o __init__.py arquivo exporta agent ou workflow variável
  • Verificar se há erros de sintaxe nos arquivos do Python
  • Verifique se o diretório está diretamente sob o caminho passado para devui

Variáveis de ambiente não carregadas

  • Verifique se o .env arquivo está no local correto
  • Verificar permissões de arquivo
  • Usar --reload sinalizador para captar alterações durante o desenvolvimento

Próximas etapas