Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
AG-UI to protokół, który umożliwia tworzenie webowych aplikacji AI agentów z zaawansowanymi funkcjami, takimi jak przesyłanie strumieniowe w czasie rzeczywistym, zarządzanie stanem oraz interaktywne składniki UI. Integracja platformy Agent Framework AG-UI zapewnia bezproblemową łączność między agentami a klientami internetowymi.
Co to jest AG-UI?
AG-UI to standardowy protokół do tworzenia interfejsów agenta sztucznej inteligencji, który zapewnia:
- Zdalne hostowanie agentów: Wdrażaj agentów AI jako usługi internetowe dostępne dla wielu klientów
- Przesyłanie strumieniowe w czasie rzeczywistym: Strumieniowanie odpowiedzi agenta przy użyciu zdarzeń przesyłanych przez serwer (SSE) w celu uzyskania natychmiastowych informacji zwrotnych
- Ustandaryzowana komunikacja: spójny format komunikatów na potrzeby niezawodnych interakcji agenta
- Zarządzanie sesjami: obsługa kontekstu konwersacji w wielu żądaniach
- Funkcje zaawansowane: zatwierdzenia odbywające się z udziałem człowieka, synchronizacja stanów i niestandardowe renderowanie UI
Kiedy należy używać AG-UI
Rozważ użycie AG-UI, jeśli musisz:
- Tworzenie aplikacji internetowych lub mobilnych korzystających z agentów sztucznej inteligencji
- Wdrażaj agentów jako usługi dostępne dla wielu jednoczesnych użytkowników
- Przesyłanie strumieniowe odpowiedzi agenta w czasie rzeczywistym w celu zapewnienia natychmiastowej informacji zwrotnej od użytkowników
- Implementowanie przepływów pracy zatwierdzania, w których użytkownicy potwierdzają akcje przed wykonaniem
- Synchronizowanie stanu między klientem a serwerem na potrzeby środowisk interaktywnych
- Renderowanie niestandardowych składników interfejsu użytkownika na podstawie wywołań narzędzi agenta
Obsługiwane funkcje
Integracja platformy Agent Framework AG-UI obsługuje wszystkie 7 funkcji protokołu AG-UI:
- Agentic Chat: podstawowy czat strumieniowy z automatycznym wywoływaniem narzędzi
- Renderowanie narzędzi zaplecza: narzędzia wykonywane na zapleczu z wynikami przesyłanymi strumieniowo do klienta
- Człowiek w pętli: żądania zatwierdzenia funkcji na potrzeby potwierdzenia użytkownika
- Agentowy generatywny interfejs użytkownika: asynchroniczne narzędzia do operacji długotrwałych z aktualizacjami dotyczących postępu
- Interfejs użytkownika generowania oparty na narzędziach: niestandardowe składniki interfejsu użytkownika renderowane na podstawie wywołań narzędzi
- Stan udostępniony: dwukierunkowa synchronizacja stanu między klientem a serwerem
- Przewidywane aktualizacje stanu: argumenty narzędzi do strumieniowania jako optymistyczne aktualizacje stanu
Budowanie interfejsów użytkownika agenta przy użyciu CopilotKit
CopilotKit udostępnia zaawansowane składniki interfejsu użytkownika do tworzenia interfejsów użytkownika agenta na podstawie standardowego protokołu AG-UI. CopilotKit obsługuje interfejsy czatu strumieniowego, wywoływanie narzędzi frontendowych i backendowych, interakcje typu human-in-the-loop, generatywny interfejs użytkownika, współdzielony stan i wiele innych. Przykłady różnych scenariuszy interfejsu użytkownika agenta obsługiwanych przez copilotKit można znaleźć w przykładowej aplikacji AG-UI Dojo .
CopilotKit pomaga skupić się na możliwościach agenta, jednocześnie dostarczając dopracowane doświadczenie użytkownika bez potrzeby wynajdywania koła na nowo. Aby dowiedzieć się więcej o rozpoczęciu pracy z Microsoft Agent Framework i CopilotKit, zobacz dokumentację integracji Microsoft Agent Framework z CopilotKit.
AG-UI w porównaniu z bezpośrednim użyciem agenta
Chociaż można uruchamiać agentów bezpośrednio w aplikacji przy użyciu metod Run i RunStreamingAsync platformy Agent Framework, AG-UI zapewnia dodatkowe możliwości:
| Funkcja | Użycie agenta bezpośredniego | integracja AG-UI |
|---|---|---|
| Wdrożenie | Osadzony w aplikacji | Usługa zdalna za pośrednictwem protokołu HTTP |
| Dostęp klienta | Pojedyncza aplikacja | Wielu klientów (sieć Web, urządzenia przenośne) |
| Streaming | Iteracja asynchroniowa w procesie | zdarzenia Server-Sent (SSE) |
| Zarządzanie stanem | Zarządzane przez aplikację | Zrzuty stanu protokołu |
| Kontekst sesji | Zarządzane przez aplikację | Identyfikatory sesji zarządzanej przez protokół |
| Przepływy pracy zatwierdzania | Implementacja niestandardowa | Wbudowany wzorzec oprogramowania pośredniczącego |
Omówienie architektury
Integracja AG-UI używa platformy ASP.NET Core i jest zgodna z czystą architekturą opartą na oprogramowaniu pośredniczącym:
┌─────────────────┐
│ Web Client │
│ (Browser/App) │
└────────┬────────┘
│ HTTP POST + SSE
▼
┌─────────────────────────┐
│ ASP.NET Core │
│ MapAGUI("/", agent) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ AIAgent │
│ (with Middleware) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ IChatClient │
│ (Azure OpenAI, etc.) │
└─────────────────────────┘
Kluczowe składniki
-
ASP.NET Core Endpoint:
MapAGUImetoda rozszerzenia obsługuje żądania HTTP i przesyłanie strumieniowe SSE -
AIAgent: agent frameworku utworzony z
IChatClientlub implementacji niestandardowej - Ścieżka oprogramowania pośredniczącego: opcjonalne oprogramowanie pośredniczące dla zatwierdzeń, zarządzanie stanami i logika niestandardowa
- Adapter protokołu: konwertuje między typami struktury agentów i zdarzeniami protokołu AG-UI
- Klient czatu: Microsoft.Extensions.AI klient czatu (Azure OpenAI, OpenAI, Ollama itp.)
Jak Agent Framework przekłada się na AG-UI
Zrozumienie sposobu mapowania koncepcji struktury agenta na AG-UI ułatwia tworzenie skutecznych integracji:
| Koncepcja struktury agentów | odpowiednik AG-UI | Description |
|---|---|---|
AIAgent |
Punkt końcowy agenta | Każdy agent staje się punktem końcowym HTTP |
agent.Run() |
Żądanie HTTP POST | Klient wysyła komunikaty za pośrednictwem protokołu HTTP |
agent.RunStreamingAsync() |
Zdarzenia wysyłane przez serwer | Odpowiedzi przesyłania strumieniowego za pośrednictwem protokołu SSE |
AgentResponseUpdate |
wydarzenia AG-UI | Automatycznie konwertowane na zdarzenia protokołu |
AIFunctionFactory.Create() |
Narzędzia zaplecza | Wykonane na serwerze, wyniki przesyłane strumieniowo |
ApprovalRequiredAIFunction |
Człowiek w pętli | Oprogramowanie pośredniczące konwertuje na protokół zatwierdzania |
AgentSession |
Zarządzanie sesjami |
ConversationId utrzymuje kontekst |
ChatResponseFormat.ForJsonSchema<T>() |
Migawki stanu | Wyjście strukturalne staje się zdarzeniami stanowymi |
Instalacja
Integracja AG-UI jest zawarta w pakiecie hostingu ASP.NET Core:
dotnet add package Microsoft.Agents.AI.Hosting.AGUI.AspNetCore
Ten pakiet zawiera wszystkie zależności wymagane do integracji AG-UI, w tym Microsoft.Extensions.AI.
Dalsze kroki
Aby rozpocząć integrację z AG-UI:
- Wprowadzenie: tworzenie pierwszego serwera AG-UI i klienta
- Renderowanie narzędzi warstwy serwerowej: dodaj funkcje narzędzi do agentów
Dodatkowe zasoby
AG-UI w porównaniu z bezpośrednim użyciem agenta
Chociaż można uruchamiać agentów bezpośrednio w aplikacji przy użyciu metod run i run(..., stream=True) platformy Agent Framework, AG-UI zapewnia dodatkowe możliwości:
| Funkcja | Użycie agenta bezpośredniego | integracja AG-UI |
|---|---|---|
| Wdrożenie | Osadzony w aplikacji | Usługa zdalna za pośrednictwem protokołu HTTP |
| Dostęp klienta | Pojedyncza aplikacja | Wielu klientów (sieć Web, urządzenia przenośne) |
| Streaming | Iteracja asynchroniowa w procesie | zdarzenia Server-Sent (SSE) |
| Zarządzanie stanem | Zarządzane przez aplikację | Dwukierunkowa synchronizacja na poziomie protokołu |
| Kontekst wątku | Zarządzane przez aplikację | Identyfikatory wątków zarządzanych przez protokół |
| Przepływy pracy zatwierdzania | Implementacja niestandardowa | Obsługa wbudowanego protokołu |
Omówienie architektury
Integracja AG-UI korzysta z czystej, modułowej architektury:
┌─────────────────┐
│ Web Client │
│ (Browser/App) │
└────────┬────────┘
│ HTTP POST + SSE
▼
┌─────────────────────────┐
│ FastAPI Endpoint │
│ (add_agent_framework_ │
│ fastapi_endpoint) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ AgentFrameworkAgent │
│ (Protocol Wrapper) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Orchestrators │
│ (Execution Flow Logic) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Agent │
│ (Agent Framework) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Chat Client │
│ (Azure OpenAI, etc.) │
└─────────────────────────┘
Kluczowe składniki
- Punkt końcowy FastAPI: punkt końcowy HTTP obsługujący przesyłanie strumieniowe SSE i routing żądań
- AgentFrameworkAgent: Lekka nakładka, która dostosowuje agentów Agent Framework do protokołu AG-UI.
- Orkiestratory: obsługa różnych przepływów wykonywania (ustawienie domyślne, human-in-the-loop, zarządzanie stanem)
- Event Bridge: konwertuje zdarzenia struktury agenta na zdarzenia protokołu AG-UI
- Adaptery komunikatów: dwukierunkowa konwersja między formatami komunikatów AG-UI i Agent Framework
- Strategie potwierdzenia: rozszerzalne strategie dotyczące komunikatów potwierdzenia specyficznych dla domeny
Jak Agent Framework przekłada się na AG-UI
Zrozumienie sposobu mapowania koncepcji struktury agenta na AG-UI ułatwia tworzenie skutecznych integracji:
| Koncepcja struktury agentów | odpowiednik AG-UI | Description |
|---|---|---|
Agent |
Punkt końcowy agenta | Każdy agent staje się punktem końcowym HTTP |
agent.run() |
Żądanie HTTP POST | Klient wysyła komunikaty za pośrednictwem protokołu HTTP |
agent.run(..., stream=True) |
Zdarzenia wysyłane przez serwer | Odpowiedzi przesyłania strumieniowego za pośrednictwem protokołu SSE |
| Aktualizacje odpowiedzi agenta | wydarzenia AG-UI |
TEXT_MESSAGE_CONTENT, TOOL_CALL_START, itp. |
Narzędzia funkcji (@tool) |
Narzędzia zaplecza | Wykonane na serwerze, wyniki przesyłane strumieniowo do klienta |
| Tryb zatwierdzania narzędzi | Człowiek w pętli | Żądania zatwierdzenia/odpowiedzi za pośrednictwem protokołu |
| Historia konwersacji | Zarządzanie wątkami |
threadId obsługuje kontekst między żądaniami |
Instalacja
Zainstaluj pakiet integracji AG-UI:
pip install agent-framework-ag-ui --pre
Spowoduje to zainstalowanie zarówno podstawowej platformy agentów, jak i składników integracji AG-UI.
Dalsze kroki
Aby rozpocząć integrację z AG-UI:
- Wprowadzenie: tworzenie pierwszego serwera AG-UI i klienta
- Renderowanie narzędzi warstwy serwerowej: dodaj funkcje narzędzi do agentów
Dodatkowe zasoby
- Dokumentacja platformy agentów
- Dokumentacja protokołuAG-UI
- Aplikacja Dojo AG-UI — przykładowa aplikacja demonstrująca integrację z Agent Framework
- Repozytorium GitHub platformy agentów