Pre-release
This release is a pre-release and may not be stable for production use.
Agent Framework AG-UI Integration
AG-UI protocol integration for Agent Framework, enabling seamless integration with AG-UI's web interface and streaming protocol.
Installation
pip install agent-framework-ag-ui
Quick Start
Server (Host an AI Agent)
from fastapi import FastAPI
from agent_framework import ChatAgent
from agent_framework.azure import AzureOpenAIChatClient
from agent_framework.ag_ui import add_agent_framework_fastapi_endpoint
# Create your agent
agent = ChatAgent(
name="my_agent",
instructions="You are a helpful assistant.",
chat_client=AzureOpenAIChatClient(
endpoint="https://your-resource.openai.azure.com/",
deployment_name="gpt-4o-mini",
api_key="your-api-key",
),
)
# Create FastAPI app and add AG-UI endpoint
app = FastAPI()
add_agent_framework_fastapi_endpoint(app, agent, "/")
# Run with: uvicorn main:app --reload
Client (Connect to an AG-UI Server)
import asyncio
from agent_framework import TextContent
from agent_framework.ag_ui import AGUIChatClient
async def main():
async with AGUIChatClient(endpoint="http://localhost:8000/") as client:
# Stream responses
async for update in client.get_streaming_response("Hello!"):
for content in update.contents:
if isinstance(content, TextContent):
print(content.text, end="", flush=True)
print()
asyncio.run(main())
The AGUIChatClient supports:
- Streaming and non-streaming responses
- Hybrid tool execution (client-side + server-side tools)
- Automatic thread management for conversation continuity
- Integration with
ChatAgentfor client-side history management
Documentation
- Getting Started Tutorial - Step-by-step guide to building AG-UI servers and clients
- Server setup with FastAPI
- Client examples using
AGUIChatClient - Hybrid tool execution (client-side + server-side)
- Thread management and conversation continuity
- Examples - Complete examples for AG-UI features
Features
This integration supports all 7 AG-UI features:
- Agentic Chat: Basic streaming chat with tool calling support
- Backend Tool Rendering: Tools executed on backend with results streamed to client
- Human in the Loop: Function approval requests for user confirmation before tool execution
- Agentic Generative UI: Async tools for long-running operations with progress updates
- Tool-based Generative UI: Custom UI components rendered on frontend based on tool calls
- Shared State: Bidirectional state sync between client and server
- Predictive State Updates: Stream tool arguments as optimistic state updates during execution
Architecture
The package uses a clean, orchestrator-based architecture:
- AgentFrameworkAgent: Lightweight wrapper that delegates to orchestrators
- Orchestrators: Handle different execution flows (default, human-in-the-loop, etc.)
- Confirmation Strategies: Domain-specific confirmation messages (extensible)
- AgentFrameworkEventBridge: Converts Agent Framework events to AG-UI events
- Message Adapters: Bidirectional conversion between AG-UI and Agent Framework message formats
- FastAPI Endpoint: Streaming HTTP endpoint with Server-Sent Events (SSE)
Next Steps
- New to AG-UI? Start with the Getting Started Tutorial
- Want to see examples? Check out the Examples for AG-UI features
License
MIT
Metadata
Release files for agent-framework-ag-ui 1.0.0b251209
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_framework_ag_ui-1.0.0b251209.tar.gz | 84.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_framework_ag_ui-1.0.0b251209-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 147.1 kB
Release files / agent_framework_ag_ui-1.0.0b251209.tar.gz
| Download URL | agent_framework_ag_ui-1.0.0b251209.tar.gz |
|---|---|
| Size | 84.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30be9f37a5e94f1c145396ba821869545c9fc9bd17dd1fc69973699127dec963
|
|
BLAKE2b-256 checksum How to use checksums |
e01d6d4177bbb686700aeb8b6f6c0e8a6eb0aca0d756310bb8ca0efe5e840ba6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / agent_framework_ag_ui-1.0.0b251209-py3-none-any.whl
| Download URL | agent_framework_ag_ui-1.0.0b251209-py3-none-any.whl |
|---|---|
| Size | 62.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97e332aa55504fd83858434ca96044bc4fa18aea95c384e0d2ae0901654a7b7c
|
|
BLAKE2b-256 checksum How to use checksums |
eac5bde4c834d8b038605891a032f5ebc73c07f036151c70457f02faf923d12c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|