通过


目录查找

DevUI 可以从目录结构自动发现代理和工作流。 这使你可以组织多个实体,并使用单个命令启动它们。

即将推出

即将推出适用于 C# 的 DevUI 文档。 请稍后查看或参阅 Python 文档了解概念指南。

目录结构

若要让 DevUI 发现代理和工作流,必须在特定的目录结构中组织它们。 每个实体都必须有一个 __init__.py 导出所需变量(agentworkflow) 的文件。

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 文件:

  1. 实体级别 .env:放置在代理/工作流目录中,仅针对该实体加载
  2. 父级 .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确保文件导出agentworkflow变量
  • 检查 Python 文件中的语法错误
  • 验证目录是否直接位于传递给devui的路径下

未加载环境变量

  • .env确保文件位于正确的位置
  • 检查文件权限
  • 使用 --reload 标志在开发过程中选取更改

后续步骤