Udostępnij przez


Odnajdywanie katalogów

Usługa DevUI może automatycznie odnajdywać agentów i przepływy pracy ze struktury katalogów. Dzięki temu można organizować wiele jednostek i uruchamiać je wszystkie za pomocą jednego polecenia.

Wkrótce

Dokumentacja usługi DevUI dla języka C# jest dostępna wkrótce. Sprawdź ponownie później lub przejrzyj dokumentację języka Python, aby uzyskać wskazówki koncepcyjne.

Struktura katalogu

Aby agenci i przepływy pracy były odnajdywane przez usługę DevUI, muszą być zorganizowane w określonej strukturze katalogów. Każda jednostka musi mieć plik, który eksportuje wymaganą zmienną __init__.py (agent lub 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

Przykład agenta

Utwórz katalog dla agenta zgodnie z wymaganiami __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."
)

Kluczowym wymaganiem jest to, że __init__.py plik musi wyeksportować zmienną o nazwie agent (dla agentów) lub workflow (w przypadku przepływów pracy).

Przykład przepływu pracy

my_workflow/__init__.py:

from agent_framework.workflows import WorkflowBuilder

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

Zmienne środowiskowe

Usługa DevUI automatycznie ładuje .env pliki, jeśli są obecne:

  1. Poziom .envjednostki: umieszczony w katalogu agenta/przepływu pracy załadowany tylko dla tej jednostki
  2. Poziom .envnadrzędny: umieszczony w katalogu głównym encji, załadowany dla wszystkich encji

Przykładowy .env plik:

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

Tip

Utwórz .env.example plik, aby dokumentować wymagane zmienne środowiskowe bez ujawniania rzeczywistych wartości. Nigdy nie zatwierdzaj .env plików z rzeczywistymi poświadczeniami do systemu kontroli wersji.

Uruchamianie z funkcją wykrywania katalogów

Po skonfigurowaniu struktury katalogów uruchom narzędzie DevUI:

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

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

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

Kiedy DevUI jest uruchamiany bez odnalezionych jednostek, wyświetla przykładową galerię z wyselekcjonowanych przykładów z repozytorium Agent Framework. Masz następujące możliwości:

  • Przeglądanie dostępnych przykładowych agentów i przepływów pracy
  • Pobieranie przykładów w celu przejrzenia i dostosowania
  • Uruchom przykłady lokalnie, aby szybko zacząć

Rozwiązywanie problemów

Nie odnaleziono jednostki

  • Upewnij się, że __init__.py plik eksportuje agent lub workflow zmienną
  • Sprawdzanie błędów składniowych w plikach języka Python
  • Sprawdź, czy katalog znajduje się bezpośrednio pod ścieżką przekazaną do devui

Nie załadowano zmiennych środowiskowych

  • Upewnij się, .env że plik znajduje się w prawidłowej lokalizacji
  • Sprawdzanie uprawnień do plików
  • Używanie --reload flagi do odbierania zmian podczas programowania

Dalsze kroki