Címtárfelderítés

A DevUI automatikusan felderítheti az ügynököket és a munkafolyamatokat egy címtárstruktúrából. Így több entitást is rendszerezhet, és egyetlen paranccsal indíthatja el őket.

Hamarosan elérhető

A C# devUI-dokumentációja hamarosan elérhető lesz. Tekintse meg később, vagy tekintse meg a Python dokumentációját fogalmi útmutatásért.

Címtárstruktúra

Ahhoz, hogy az ügynököket és munkafolyamatokat a DevUI felderítse, azokat egy adott címtárstruktúrában kell rendszerezni. Minden entitásnak rendelkeznie kell egy fájllal __init__.py , amely exportálja a szükséges változót (agent vagy 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

Példa ügynökre

Hozzon létre egy könyvtárat az ügynök számára a szükséges __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",
    client=OpenAIChatClient(),
    tools=[get_weather],
    instructions="You are a helpful weather assistant."
)

A legfontosabb követelmény, hogy a __init__.py fájlnak exportálnia kell egy (ügynököknek) vagy agent (munkafolyamatokhoz) elnevezett workflow változót.

Példa munkafolyamatra

my_workflow/__init__.py:

from agent_framework import WorkflowBuilder, WorkflowContext, executor
from typing_extensions import Never


@executor(id="my_executor")
async def my_executor(message: str, ctx: WorkflowContext[Never, str]) -> None:
    await ctx.yield_output(message)


workflow = WorkflowBuilder(start_executor=my_executor).build()

Környezeti változók

A DevUI automatikusan betölti a .env fájlokat, ha vannak:

  1. Entitásszintű .env: Az ügynök/munkafolyamat könyvtárába helyezve, csak az adott entitás számára betöltve
  2. Szülőszintű .env: Az entitások gyökérkönyvtárába helyezve, az összes entitáshoz betöltve

.env példafájl:

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

Tip

Hozzon létre egy .env.example fájlt a szükséges környezeti változók dokumentálásához anélkül, hogy tényleges értékeket ad meg. Soha ne kötelezze el a valódi hitelesítő adatokkal rendelkező .env fájlokat a forrásvezérléshez.

Indítás a Directory Discovery használatával

A címtárstruktúra beállítása után indítsa el a DevUI-t:

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

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

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

Amikor a DevUI felderített entitások nélkül indul el, egy mintagyűjteményt jelenít meg az Agent Framework-adattárból származó válogatott példákkal. Ön megteheti:

  • Az elérhető mintaügynökök és munkafolyamatok böngészése.
  • Minták letöltése áttekintéshez és testreszabáshoz
  • Minták helyben történő futtatása a gyors kezdéshez

Troubleshooting

Az entitás nem felderítve

  • Győződjön meg arról, hogy a __init__.py fájl vagy a agent vagy workflow változó exportálásra kerül.
  • Szintaxishibák keresése a Python-fájlokban
  • Győződjön meg arról, hogy a címtár közvetlenül a következő elérési út alatt található: devui

A környezeti változók nincsenek betöltve

  • Győződjön meg arról, hogy a .env fájl a megfelelő helyen van
  • Fájlengedélyek ellenőrzése
  • A --reload jelölő használatával vegye át a változásokat a fejlesztés során.

Megjegyzés:

A funkció Go-támogatása hamarosan érkezik. A legújabb állapotot az Agent Framework Go-adattárában tekinthet meg.

Következő lépések