UNPKG

ai

Version:

AI SDK by Vercel - The AI Toolkit for TypeScript and JavaScript

85 lines (61 loc) 1.87 kB
--- title: stepCountIs description: API Reference for stepCountIs. --- # `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. ```ts import { generateText, stepCountIs } from 'ai'; __PROVIDER_IMPORT__; const result = await generateText({ model: __MODEL__, tools: { // your tools }, // Stop after 5 steps stopWhen: stepCountIs(5), }); ``` ## Import <Snippet text={`import { stepCountIs } from "ai"`} prompt={false} /> ## API Signature ### Parameters <PropertiesTable content={[ { name: 'count', type: 'number', description: '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: ```ts 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: ```ts 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')], }); ``` ## See also - [`hasToolCall()`](/docs/reference/ai-sdk-core/has-tool-call) - [`generateText()`](/docs/reference/ai-sdk-core/generate-text) - [`streamText()`](/docs/reference/ai-sdk-core/stream-text)