Use for AI SDK for Python basics. Configure a model, make messages, stream, declare tools, build a basic agent.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building serverless AI SDK for Python endpoints, handling hook approvals, deferring hooks, or resuming runs across requests.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Use this when working in a serverless setup, e.g. Vercel Fluid Compute.
The only major difference in serverless is processing tool approvals and other hooks. Since you can't keep the hook future alive, you need to stop the run, save messages, then start a later request with the hook resolution pre-registered.
Mark approval-gated tools with require_approval=True:
@ai.tool(require_approval=True)
async def delete_file(path: str) -> str:
return f"Deleted {path}"
When a deferred hook appears, send it to the client and call
ai.defer_hook(...).
Keep draining the stream. Do not break after the first hook. This lets sibling
tools finish or get marked deferred, and makes stream.messages complete.
deferred_hooks = []
async with agent.run(model, messages) as stream:
async for event in stream:
if (
isinstance(event, ai.events.HookEvent)
and event.hook.status == "pending"
):
deferred_hooks.append(event.hook)
ai.defer_hook(event.hook)
yield event
saved_messages = [
message.model_dump(mode="json")
for message in stream.messages
]
save_messages(saved_messages)
save_deferred_hook_ids([hook.hook_id for hook in deferred_hooks])
Load the saved messages, pre-register hook resolutions, then call agent.run.
messages = [
ai.messages.Message.model_validate(message)
for message in load_messages()
]
for approval in approvals:
ai.resolve_hook(
approval.hook_id,
ai.tools.ToolApproval(
granted=approval.granted,
reason=approval.reason,
),
)
async with agent.run(model, messages) as stream:
async for event in stream:
yield event
save_messages([
message.model_dump(mode="json")
for message in stream.messages
])
Call ai.resolve_hook(...) before agent.run(...). Do not ask the model to
make the tool call again.
Agent.run prepares saved interrupted messages for replay. Completed sibling
tool results are reused, deferred hooks receive the pre-registered resolution,
and replay-only events are hidden from the caller.
agent.run(...); serverless resume usually does not need a custom loop.context.resolve(...), ToolRunner, and
context.add(...) so approvals and replay keep working.ai.resolve_hook(hook_id, data, payload=PayloadType).ai-python-ui-adapter for message conversion,
approval responses, and SSE.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Use for AI SDK for Python basics. Configure a model, make messages, stream, declare tools, build a basic agent.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building custom agent loops. Modify tool dispatch, history management, hooks, control flow.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use for implementing custom providers in AI SDK for Python.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when adding durable execution to AI SDK for Python, building durable agent loops, or serializing messages across workflow steps.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use for AI SDK for Python async-generator tools, streaming tool output, subagent tools, PartialToolCallResult events, and custom tool aggregation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use for the subagent-as-a-tool pattern.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.