ai

작성자: vercel

Python `ai` SDK — models, providers, streams, events, tools, agents, hooks, MCP, AI SDK UI, structured output, and media generation

npx skills add https://github.com/vercel-labs/ai-python --skill ai

AI SDK for Python

Package: ai. Requires Python 3.12+. Install with uv add ai.

Unprefixed model IDs use AI Gateway and AI_GATEWAY_API_KEY. Direct providers use provider:model, their API key, and an extra:

uv add "ai[openai]"     # OPENAI_API_KEY,    ai.get_model("openai:gpt-5")
uv add "ai[anthropic]"  # ANTHROPIC_API_KEY, ai.get_model("anthropic:claude-sonnet-4")

Basic use

Use ai.stream for one model call without Python tool execution:

import ai

model = ai.get_model("anthropic/claude-sonnet-4")
messages = [
    ai.system_message("Be concise."),
    ai.user_message("Write a haiku about rain."),
]

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
message = stream.message

Use ai.Agent for a loop that executes Python tools and manages history:

@ai.tool
async def get_weather(city: str) -> str:
    """Get the weather for a city."""
    return "Sunny"


agent = ai.Agent(tools=[get_weather])
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

These examples are sufficient for basic model calls, messages, tools, and agents.

Advanced work

For an advanced task, fetch its page under https://ai-python.dev/docs/ and read the listed local notes before writing code.

TaskPageLocal notes
Provider clients, options, discoverybasics/providers.md
Structured output, complex streamsbasics/streaming.md
Buffered language-model callsbasics/streaming.md
Images, video, speech, embeddings, transcription, rerankingbasics/model-operations.md
Events and serializationbasics/messages-and-events.md
Advanced tools, streaming, aggregationbasics/tools.mdstreaming-tools.md
Advanced agent behaviorbasics/agents.md
Deterministic model and agent testsbasics/testing.md
Subagents and multi-agentbasics/subagents-and-multi-agent.mdstreaming-tools.md
Custom agent loopsbasics/custom-loops.mdcustom-loops.md
Approvals and hooksbasics/human-in-the-loop.md
Serverless resumebasics/human-in-the-loop.mdserverless.md
Durable executionbasics/durable-execution.mddurable.md
Telemetry and tracingbasics/telemetry.md
AI SDK UI backendsbasics/ai-sdk-ui.mdui.md
Custom providersbasics/providers.mdcustom-provider.md

For exact APIs, use reference.md and the relevant reference/*.md page.

vercel의 다른 스킬

vercel
vercel
로컬 개발 및 테스트를 위한 Vercel REST API 에뮬레이션입니다. 사용자가 로컬에서 Vercel API 엔드포인트와 상호작용하거나 Vercel 통합을 테스트해야 할 때 사용합니다.
cron-jobs
vercel
Vercel Cron Jobs 구성 및 모범 사례. vercel.json에서 예약된 작업을 추가, 편집 또는 디버깅할 때 사용합니다.
codegen
vercel
json-render을 위한 코드 생성 유틸리티입니다. UI 명세서에서 코드를 생성하거나, 사용자 정의 코드 내보내기를 구축하거나, 명세서를 탐색하거나, props를 직렬화할 때 사용합니다.
next-best-practice
vercel
Next.js 모범 사례 - 파일 규칙, RSC 경계, 데이터 패턴, 비동기 API, 메타데이터, 오류 처리, 라우트 핸들러, 이미지/폰트 최적화,…
benchmark-sandbox
vercel
Vercel Sandbox에서 vercel-plugin eval 시나리오를 로컬 WezTerm 패널 대신 실행합니다. Claude Code와 플러그인이 사전 설치된 임시 마이크로VM을 프로비저닝합니다.
write-guide
vercel
점진적인 예제를 통해 실제 사용 사례를 가르치는 기술 가이드를 제작합니다. 개념은 독자가 필요로 할 때만 소개됩니다.
benchmark-testing
vercel
벤치마크 테스트 프로젝트를 생성하고 실행하여 실제 시나리오에서 vercel-plugin 스킬 인젝션을 테스트합니다. 격리된 디렉토리를 설정하고, 설치하며…
ai-gateway
vercel
Vercel AI Gateway 전문가 안내. 모델 라우팅, 제공업체 장애 조치, 비용 추적 또는 통합된 방식을 통해 여러 AI 제공업체를 관리할 때 사용합니다.