stepCountIs()
Creates a stop condition that stops when the number of steps reaches a specified count.
This function is used with stopWhen
in generateText
and streamText
to control when a tool-calling loop should stop based on the number of steps executed.
import { openai } from '@ai-sdk/openai';import { generateText, stepCountIs } from 'ai';
const result = await generateText({ model: openai('gpt-4o'), tools: { // your tools }, // Stop after 5 steps stopWhen: stepCountIs(5),});
Import
import { stepCountIs } from "ai"
API Signature
Parameters
count:
number
The maximum number of steps to execute before stopping the tool-calling loop.
Returns
A StopCondition
function that returns true
when the step count reaches the specified number. The function can be used with the stopWhen
parameter in generateText
and streamText
.
Examples
Basic Usage
Stop after 3 steps:
import { generateText, stepCountIs } from 'ai';
const result = await generateText({ model: yourModel, tools: yourTools, stopWhen: stepCountIs(3),});
Combining with Other Conditions
You can combine multiple stop conditions in an array:
import { generateText, stepCountIs, hasToolCall } from 'ai';
const result = await generateText({ model: yourModel, tools: yourTools, // Stop after 10 steps OR when finalAnswer tool is called stopWhen: [stepCountIs(10), hasToolCall('finalAnswer')],});