Skip to main content
Agents can drive rich user interfaces — from plain text streaming to typed JSON schemas to live React components — by picking the right output tier for your client. The user chats with the agent; generative UI renders cards, forms, or charts alongside the text reply.

How It Works

Quick Start

1

Tier 1 — Structured output (recommended for APIs)

Your frontend receives a typed object — map Dashboard fields to whatever React, Vue, or mobile components you already have.
2

Tier 2 — AG-UI (CopilotKit / React)

Run: uvicorn main:app --port 8002The agent streams text deltas and tool call events over Server-Sent Events to any AG-UI compatible frontend (CopilotKit, custom SSE client).

How It Works

Tier decision flow

Tier 0 — Markdown streaming

Tier 1 — Structured output

Use output_pydantic=YourModel or output_json=True on the agent. The model formats its response to fit the schema, and you receive a validated Python object.

Tier 2 — AG-UI stream

AGUI wraps any agent and exposes a POST /agui endpoint that emits text delta and tool call events per the AG-UI protocol.

Tier 3 — A2UI declarative

Requires pip install praisonaiagents[a2ui]. The agent emits A2UI JSON; platform-specific renderers (React, Flutter, Lit) turn it into native UI components.

Configuration Options

Tier 1 — Structured output parameters on Agent: Tier 2 — AGUI constructor:

AGUI TypeScript Reference

TypeScript AG-UI configuration

A2UI Protocol

A2UI declarative UI protocol details

Common Patterns

Return a typed dashboard from a research agent:
Expose a multi-agent workflow via AG-UI:
Stream output to the terminal:

Best Practices

Tier 1 covers 90% of use cases — a typed Pydantic response is easy to test, validate, and map to UI components. Only reach for Tier 2 or 3 when you genuinely need live streaming or cross-platform native rendering.
Broad schemas like dict defeat the purpose of structured output. Model exactly the fields your frontend needs — this makes validation strict and LLM prompting more reliable.
Use praisonaiagents[a2ui] for Tier 3 — do not create your own A2UI JSON structures. The official SDK ensures schema compliance across renderer versions.
For Tier 3, the React, Flutter, and Lit renderers are maintained in the Google A2UI repository. PraisonAI provides the agent side; you choose and update renderers independently.

A2UI Protocol

Declarative cross-platform UI via A2UI JSON

Streaming

Token-level streaming for real-time output