
Description
Use for AI SDK for Python basics. Configure a model, make messages, stream, declare tools, build a basic agent.
SKILL.md
ai-python-basics
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:
Modelselects the provider and model.- Messages are typed Python objects.
ai.streammakes one model call and returns one assistant message.ai.Agentwrapsai.streamin 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.
More skills from the ai-python repository
View all 8 skillsai-python-custom-loop
build custom agent loops in Python
Jul 17AgentsAI SDKPythonai-python-custom-provider
implement custom AI SDK providers
Jul 17AI SDKPythonai-python-durable-execution
add durable execution to AI agents
Jul 17AgentsAI SDKPythonai-python-serverless-execution
build serverless AI SDK endpoints
Jul 17AI SDKPythonServerlessai-python-streaming-tools
stream AI SDK Python tool outputs
Jul 17AgentsAI SDKPythonai-python-subagents
implement subagent patterns in Python
Jul 17AgentsMulti-AgentPython
More from Vercel Labs
View publisheragent-browser
automate browser interactions for AI agents
agent-browser
Jul 20AgentsAutomationBrowser Automationagentcore
run browser automation on AWS Bedrock
agent-browser
Jul 17AutomationAWSBrowser Automationcore
navigate and interact with web pages
agent-browser
Jul 26AgentsBrowser AutomationNavigationderive-client
reverse engineer internal APIs from browser traffic
agent-browser
Jul 20API DevelopmentAutomationBrowser AutomationWeb Scrapingdogfood
perform exploratory testing on web applications
agent-browser
Jul 17Browser AutomationDebuggingQATestingelectron
automate Electron desktop applications
agent-browser
Jul 17AgentsBrowser AutomationDesktop