Back to Copilotkit

Frontend Tools Setup

showcase/integrations/pydantic-ai/docs/setup/frontend-tools-setup.mdx

1.70.01.2 KB
Original Source
<Steps> <Step> ### Nothing to wire on the agent
PydanticAI's AG-UI bridge surfaces frontend-registered tools to the model on
every run, so the agent declares no tools of its own. A component registered
with `useComponent` reaches the model through the AG-UI request payload and
the model calls it by name.

```python title="src/agents/chart_agent.py"
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIResponsesModel

agent = Agent(
    model=OpenAIResponsesModel("gpt-4.1-mini"),
    system_prompt=SYSTEM_PROMPT,
)
```
</Step> <Step> ### Tell the model when to call it
This is the part that is easy to miss. The tool arrives on every run, but a
model with no instruction about it will answer in prose and never call it.
Name the tool in the system prompt and say what it is for.

```python title="src/agents/chart_agent.py"
SYSTEM_PROMPT = """
You are a data visualization assistant.

When the user asks for a chart, call `render_bar_chart` with a concise
title and a `data` array of `{label, value}` items.

Keep chat responses brief — let the chart do the talking.
"""
```
</Step> </Steps>