次の方法で共有


ディレクトリの検出

DevUI は、ディレクトリ構造からエージェントとワークフローを自動的に検出できます。 これにより、複数のエンティティを整理し、それらをすべて 1 つのコマンドで起動できます。

近日公開

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 ファイルを自動的に読み込みます。

  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 は、検出されたエンティティなしで開始すると、エージェント フレームワーク リポジトリから厳選された例を含む サンプル ギャラリー を表示します。 次のようにすることができます。

  • 使用可能なサンプル エージェントとワークフローを参照する
  • サンプルをダウンロードして確認およびカスタマイズする
  • サンプルをローカルで実行してすぐに開始する

トラブルシューティング

エンティティが検出されない

  • __init__.py ファイルがagentまたはworkflow変数をエクスポートしていることを確認する
  • Python ファイルの構文エラーを確認する
  • 渡されたパスのすぐ下にディレクトリが存在することを確認します devui

環境変数が読み込まれていない

  • .env ファイルが正しい場所にあることを確認する
  • ファイルのアクセス許可を確認する
  • --reload フラグを使用して開発中に変更を取得する

次のステップ