Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DevUI, Microsoft Agent Framework'te aracıları ve iş akışlarını çalıştırmaya yönelik basit, tek başına bir örnek uygulamadır. OpenAI uyumlu API arka ucuyla birlikte etkileşimli test için bir web arabirimi sağlar ve bunları uygulamalarınızla tümleştirmeden önce oluşturduğunuz aracılarda ve iş akışlarında görsel olarak hata ayıklamanıza, test edip yinelemenize olanak tanır.
Önemli
DevUI, geliştirme sırasında aracılarınızı ve iş akışlarınızı görselleştirmenize ve hatalarını ayıklamanıza yardımcı olan örnek bir uygulamadır . Üretim kullanımına yönelik değildir .
Paketleri yükleme
Tek bir .NET hizmeti için DevUI paketini yükleyin. Birden çok aracı servisi bir araya getiren bir Aspire AppHost için Aspire barındırma entegrasyonunu da yükleyin.
dotnet add package Microsoft.Agents.AI.DevUI --prerelease
dotnet add package Aspire.Hosting.AgentFramework.DevUI --prerelease
Aspire ile DevUI kullanma
Her aracı hizmeti OpenAI Yanıtları ve Konuşmalar uç noktalarını kullanıma sunar. Aspire AppHost bir DevUI kaynağı ekler ve aracı hizmetlerini bağlar.
var writerAgent = builder.AddProject<Projects.WriterAgent>("writer-agent", launchProfileName: "https")
.WithHttpHealthCheck("/health", endpointName: "https")
.WithReference(foundry).WaitFor(foundry);
// Add the editor agent service
var editorAgent = builder.AddProject<Projects.EditorAgent>("editor-agent")
.WithHttpHealthCheck("/health")
.WithReference(foundry).WaitFor(foundry);
// Add DevUI integration that aggregates agents from all agent services.
// Agent metadata is declared here so backends don't need a /v1/entities endpoint.
_ = builder.AddDevUI("devui")
.WithAgentService(writerAgent, agents: [new("writer")]) // the name of the agent should match the agent declaration in WriterAgent/Program.cs
.WithAgentService(editorAgent, agents: [new("editor")]) // the name of the agent should match the agent declaration in EditorAgent/Program.cs
.WaitFor(writerAgent)
.WaitFor(editorAgent);
WithAgentService öğesine geçirilen agents: adları, her hizmette AddAIAgent(...) tarafından kaydedilen adlarla eşleşmelidir.
Aracı hizmetinin uç noktalarını erişime açma
var builder = WebApplication.CreateBuilder(args);
builder.AddServiceDefaults();
builder.AddAzureChatCompletionsClient(connectionName: "foundry",
configureSettings: settings =>
{
// WARNING: DefaultAzureCredential is convenient for development but requires careful consideration in production.
// In production, consider using a specific credential (e.g., ManagedIdentityCredential) to avoid
// latency issues, unintended credential probing, and potential security risks from fallback mechanisms.
settings.TokenCredential = new DefaultAzureCredential();
settings.EnableSensitiveTelemetryData = builder.Environment.IsDevelopment();
})
.AddChatClient("gpt41");
builder.AddAIAgent("writer", "You write short stories (300 words or less) about the specified topic.");
// Register services for OpenAI responses and conversations
builder.Services.AddOpenAIResponses();
builder.Services.AddOpenAIConversations();
var app = builder.Build();
app.UseHttpsRedirection();
// Map OpenAI API endpoints — DevUI aggregator routes requests here
DevUI birleştiricisi, yapılandırılan tüm hizmetlerdeki varlıkları birleştirir ve Responses ile Conversations isteklerini doğru arka uca yönlendirir.
Özellikler
- Web Arabirimi: Aracıları ve iş akışlarını test etme için etkileşimli kullanıcı arabirimi
- Esnek Giriş Türleri: İş akışınızın ilk yürütücüsü temelinde metin, dosya yüklemeleri ve özel giriş türleri desteği
- Directory-Based Keşif: Dizin yapısından aracıları ve iş akışlarını otomatik olarak keşfetme
- In-Memory Kaydı: Varlıkları dosya sistemi kurulumu yapmadan programatik olarak kaydetme
- OpenAI-Compatible API: Aracılarınızla etkileşime geçmek için OpenAI Python SDK'sını kullanma
- Örnek Galeri: Hiçbir varlık keşfedilmediğinde seçilmiş örneklere göz atın ve indirin
- İzleme: Hata ayıklama ve gözlemlenebilirlik için OpenTelemetry izlemelerini görüntüleme
Giriş Türleri
DevUI, giriş arabirimini varlık türüne göre uyarlar:
- Aracılar: Çok modüllü etkileşimler için metin girişini ve dosya eklerini (görüntüler, belgeler vb.) destekleme
- İş akışları: Giriş arabirimi, ilk yürütücünün giriş türüne göre otomatik olarak oluşturulur. DevUI iş akışını gözden geçirerek beklenen giriş şemasını yansıtır, böylece yapılandırılmış veya özel giriş türleriyle iş akışlarını test etmek kolaylaşır.
Bu dinamik giriş işleme aracılarınızı ve iş akışlarınızı uygulamanızda giriş alacakları şekilde test etmenizi sağlar.
Installation
PyPI'dan DevUI yükleyin:
pip install agent-framework-devui --pre
Hızlı Başlangıç
Seçenek 1: Programlı Kayıt
Bellekte kayıtlı aracılarla DevUI'i başlatın:
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",
client=OpenAIChatClient(),
tools=[get_weather]
)
# Launch DevUI
serve(entities=[agent], auto_open=True)
# Opens browser to http://localhost:8080
Seçenek 2: Dizin Bulma (CLI)
Dizin yapısında düzenlenmiş aracılarınız ve iş akışlarınız varsa, komut satırından DevUI'yi başlatın:
# Launch web UI + API server
devui ./agents --port 8080
# Web UI: http://localhost:8080
# API: http://localhost:8080/v1/*
Gerekli dizin yapısıyla ilgili ayrıntılar için bkz. Dizin Bulma .
OpenAI SDK'sını kullanma
DevUI, OpenAI uyumlu bir Yanıtlar API'si sağlar. Aracılarınızla etkileşime geçmek için OpenAI Python SDK'sını kullanabilirsiniz:
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 hakkında daha fazla bilgi için bkz. API Başvurusu.
CLI Seçenekleri
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
Uyarı
Bu özellik için Go desteği yakında sunulacaktır. En son durum için bkz. Agent Framework Go deposu .
Sonraki Adımlar
Daha derine gidin: