generate_text() runs the model/tool loop and returns a completed GenerateTextResult.
Use it for one-off, non-streaming model calls where you do not need agent state.
Import
Signature
Parameters
LanguageModel
required
Language model instance. Create one with a provider factory such as
openai("gpt-4o"), anthropic(...), or google(...).str | None
Convenience user prompt. If
messages is not provided, prompt is converted to a user message.str | None
Optional system prompt. Only used when
messages is not provided.list[Message] | list[dict[str, Any]] | None
Explicit message list. When provided,
prompt and system are ignored.ToolSet | None
Mapping of tool name to
Tool. Tool definitions are usually created with @tool.StopCondition | list[StopCondition] | None
Stop condition or list of stop conditions for the tool loop. Defaults to
step_count_is(1).OnStepStart | None
Called before each provider request. May return
StepControl to inject messages or stop at a step boundary.OnStepFinish | None
Called after each step completes, including tool calls and tool results.
RetryPolicy | None
Provider-call retry policy. By default, retries are conservative: transient HTTP statuses (
408, 409, 425, 429, 500, 502, 503, 504) and network/timeout failures are retried; clear client errors such as 400, 401, and 403 are not. Retries happen at the current model step and do not re-run completed tools.OnRetry | None
Called before a retry attempt with the step number, attempt, delay, and sanitized error string.
ProviderOptions | None
Provider-specific options keyed by provider name.
ReasoningConfig | None
Provider-agnostic reasoning controls such as
effort or budget.AbortSignal | None
Abort signal used to cancel the generation loop, including in-flight provider calls, retry sleeps, embeddings, and async tool calls.
Any
Additional provider-specific keyword arguments passed to the provider call.
Returns
GenerateTextResult
Completed text generation result.
str
Accumulated generated text.
list[StepResult]
Step-by-step model/tool loop history.
str | None
Provider finish reason for the final response.
Usage | None
Provider-reported usage for the final model step.
dict[str, Any]
Raw provider response metadata used by the provider implementation.
dict[str, Any]
Additional provider metadata.
list[ToolCall]
Flattened tool calls from all steps.
list[ToolResult]
Flattened tool results from all steps.
Raises
Exception
Raised when neither
prompt nor messages is provided.Exception
Raised when
signal is aborted.Exception
Raised if the generation loop exits without a final result.