다음을 통해 공유


DevUI - 에이전트 및 워크플로를 실행하기 위한 샘플 앱

DevUI는 Microsoft Agent Framework에서 에이전트 및 워크플로를 실행하기 위한 간단한 독립 실행형 샘플 애플리케이션입니다. OpenAI 호환 API 백 엔드와 함께 대화형 테스트를 위한 웹 인터페이스를 제공하여 애플리케이션에 통합하기 전에 빌드한 에이전트 및 워크플로를 시각적으로 디버그, 테스트 및 반복할 수 있습니다.

중요합니다

DevUI는 개발 중에 에이전트 및 워크플로를 시각화하고 디버그하는 데 도움이 되는 샘플 앱 입니다. 프로덕션용이 아닙니다 .

준비 중

C#용 DevUI 설명서는 곧 제공될 예정입니다. 나중에 다시 확인하거나 개념 지침은 Python 설명서를 참조하세요.

에이전트 디렉터리 및 추적을 보여 주는 에이전트 프레임워크 DevUI 대시보드

기능

  • 웹 인터페이스: 에이전트 및 워크플로를 테스트하기 위한 대화형 UI
  • 유연한 입력 형식: 워크플로의 첫 번째 실행기를 기반으로 텍스트, 파일 업로드 및 사용자 지정 입력 형식 지원
  • 디렉터리 기반 디스커버리: 디렉터리 구조에서 에이전트와 워크플로를 자동으로 디스커버리합니다.
  • 메모리 내 등록: 파일 시스템 설정 없이 프로그래밍 방식으로 엔터티를 등록
  • OpenAI-Compatible API: OpenAI Python SDK를 사용하여 에이전트와 상호 작용
  • 샘플 갤러리: 엔터티가 검색되지 않은 경우 큐레이팅된 예제 찾아보기 및 다운로드
  • 추적: 디버깅 및 관찰 가능성을 위한 OpenTelemetry 추적 보기

입력 형식

DevUI는 엔터티 형식에 따라 입력 인터페이스를 조정합니다.

  • 에이전트: 다중 모드 상호 작용을 위한 텍스트 입력 및 파일 첨부 파일(이미지, 문서 등) 지원
  • 워크플로: 입력 인터페이스는 첫 번째 실행자의 입력 형식에 따라 자동으로 생성됩니다. DevUI는 워크플로를 소개하고 예상된 입력 스키마를 반영하므로 구조적 또는 사용자 지정 입력 형식으로 워크플로를 쉽게 테스트할 수 있습니다.

이 동적 입력 처리를 사용하면 애플리케이션에서 입력을 받는 것과 정확하게 에이전트 및 워크플로를 테스트할 수 있습니다.

설치

PyPI에서 DevUI를 설치합니다.

pip install agent-framework-devui --pre

빠른 시작

옵션 1: 프로그래밍 방식 등록

메모리에 등록된 에이전트를 사용하여 DevUI를 시작합니다.

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
from agent_framework.devui import serve

def get_weather(location: str) -> str:
    """Get weather for a location."""
    return f"Weather in {location}: 72F and sunny"

# Create your agent
agent = Agent(
    name="WeatherAgent",
    chat_client=OpenAIChatClient(),
    tools=[get_weather]
)

# Launch DevUI
serve(entities=[agent], auto_open=True)
# Opens browser to http://localhost:8080

옵션 2: 디렉터리 검색(CLI)

디렉터리 구조로 구성된 에이전트 및 워크플로가 있는 경우 명령줄에서 DevUI를 시작합니다.

# Launch web UI + API server
devui ./agents --port 8080
# Web UI: http://localhost:8080
# API: http://localhost:8080/v1/*

필요한 디렉터리 구조에 대한 자세한 내용은 디렉터리 검색을 참조하세요.

OpenAI SDK 사용

DevUI는 OpenAI 호환 응답 API를 제공합니다. OpenAI Python SDK를 사용하여 에이전트와 상호 작용할 수 있습니다.

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"  # API key not required for local DevUI
)

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},  # Your agent/workflow name
    input="What's the weather in Seattle?"
)

# Extract text from response
print(response.output[0].content[0].text)

API에 대한 자세한 내용은 API 참조를 참조하세요.

CLI 옵션

devui [directory] [options]

Options:
  --port, -p      Port (default: 8080)
  --host          Host (default: 127.0.0.1)
  --headless      API only, no UI
  --no-open       Don't automatically open browser
  --tracing       Enable OpenTelemetry tracing
  --reload        Enable auto-reload
  --mode          developer|user (default: developer)
  --auth          Enable Bearer token authentication
  --auth-token    Custom authentication token

다음 단계