Use when building custom agent loops. Modify tool dispatch, history management, hooks, control flow.
The English summary is being prepared. Showing the original description.
Use for AI SDK for Python basics. Configure a model, make messages, stream, declare tools, build a basic agent.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Requires Python 3.12 or later. Install with uv add ai.
Use import ai.
For gateway-routed model IDs, set AI_GATEWAY_API_KEY.
Core pieces:
Model selects the provider and model.ai.stream makes one model call and returns one assistant message.ai.Agent wraps ai.stream in a loop that executes Python tools and manages
history.Use gateway model IDs unless you need a direct provider:
model = ai.get_model("anthropic/claude-sonnet-4")
Direct providers need extras:
uv add "ai[openai]"
uv add "ai[anthropic]"
Messages are typed Python objects:
messages = [
ai.system_message("Be concise."),
ai.user_message("Write a haiku about rain."),
]
Minimal agent happy path:
import asyncio
import ai
@ai.tool
async def get_weather(city: str) -> str:
"""Get the weather for a city."""
return "Sunny"
async def main() -> None:
model = ai.get_model("anthropic/claude-sonnet-4")
agent = ai.Agent(tools=[get_weather])
messages = [
ai.system_message("Use tools when useful."),
ai.user_message("What is the weather in San Francisco?"),
]
async with agent.run(model, messages) as run:
async for event in run:
if isinstance(event, ai.events.TextDelta):
print(event.chunk, end="", flush=True)
answer = run.output
history = run.messages
if __name__ == "__main__":
asyncio.run(main())
For one model call without Python tool execution, use ai.stream:
async with ai.stream(model, messages) as stream:
async for event in stream:
if isinstance(event, ai.events.TextDelta):
print(event.chunk, end="", flush=True)
answer = stream.output
messages.append(stream.message)
Use ai-python-custom-loop, ai-python-subagents,
ai-python-streaming-tools, ai-python-serverless-execution,
ai-python-durable-execution, ai-python-ui-adapter, and
ai-python-custom-provider for advanced patterns.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when building custom agent loops. Modify tool dispatch, history management, hooks, control flow.
The English summary is being prepared. Showing the original description.
Use for implementing custom providers in AI SDK for Python.
The English summary is being prepared. Showing the original description.
Use when adding durable execution to AI SDK for Python, building durable agent loops, or serializing messages across workflow steps.
The English summary is being prepared. Showing the original description.
Use when building serverless AI SDK for Python endpoints, handling hook approvals, deferring hooks, or resuming runs across requests.
The English summary is being prepared. Showing the original description.
Use for AI SDK for Python async-generator tools, streaming tool output, subagent tools, PartialToolCallResult events, and custom tool aggregation.
The English summary is being prepared. Showing the original description.
Use for the subagent-as-a-tool pattern.
The English summary is being prepared. Showing the original description.