DevUI 可以自動從目錄結構中發現代理程式和工作流程。 這讓你能組織多個實體,並用一個指令啟動它們。
即將推出
C# 的 DevUI 文件即將推出。 請稍後回來查看,或參考 Python 文件以獲得概念指引。
目錄結構
為了讓 DevUI 發現你的代理程式和工作流程,它們必須以特定的目錄結構組織。 每個實體必須有一個 __init__.py 檔案,能匯出所需的變數(agent 或 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
代理人範例
為您的經紀人建立一個包含所需 __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."
)
關鍵要求是__init__.py檔案必須匯出一個名為(代理)或agent(工作流程)的workflow變數。
工作流程範例
my_workflow/__init__.py:
from agent_framework.workflows import WorkflowBuilder
workflow = (
WorkflowBuilder(start_executor="my_executor")
.add_executor(...)
.add_edge(...)
.build()
)
環境變數
DevUI 若存在 .env 檔案會自動載入:
-
實體層級
.env:置於代理/工作流程目錄中,僅載入該實體 -
父層級
.env:置於實體根目錄,載入所有實體
範例 .env 檔案:
OPENAI_API_KEY=sk-...
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
小提示
建立 .env.example 一個檔案來記錄必要的環境變數,但不會暴露實際值。 切勿將包含真實憑證的檔案提交到.env原始碼管理系統。
啟動目錄發現功能
當你的目錄結構建立好後,啟動 DevUI:
# Discover all entities in ./entities directory
devui ./entities
# With custom port
devui ./entities --port 9000
# With auto-reload for development
devui ./entities --reload
範例圖庫
當 DevUI 一開始沒有發現實體時,會顯示一個範例 畫廊 ,裡面有來自 Agent Framework 倉庫的精選範例。 您可以:
- 瀏覽可用的範例代理與工作流程
- 下載範例以進行檢視與客製化
- 先在本地跑取樣,快速開始
故障排除
未被發現的實體
- 確保
__init__.py檔案匯出agent或workflow變數 - 檢查你的 Python 檔案有沒有語法錯誤
- 確認該目錄是否直接位於給定路徑之下
devui
環境變數未載入
- 確保
.env檔案位置正確 - 檢查檔案權限
- 使用
--reloadflag 來偵測開發過程中的變更