텍스트 생성 — generateText·streamText
텍스트 생성 — generateText·streamText
AI SDK Core는 LLM으로 텍스트를 만들고 스트리밍하는 두 함수를 제공해요: generateText와 streamText. 도구 호출이나 구조화 데이터 생성 같은 고급 기능도 텍스트 생성을 기반으로 만들어요.
generateText
논-인터랙티브(이메일 초안, 문서 요약)나 도구를 쓰는 에이전트에 적합해요. 전체 결과를 한 번에 받아요.
import { generateText } from 'ai';
const { text } = await generateText({
model: "xai/grok-4.6",
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});
result.text: 최종 단계에서 생성된 텍스트result.files/result.sources: 생성 파일·참조 출처result.usage: 총 토큰 사용량
streamText
스트리밍 텍스트를 생성해요. textStream은 ReadableStream이자 AsyncIterable이라 즉시 소비할 수 있어요.
import { streamText } from 'ai';
const result = streamText({
model: "xai/grok-4.6",
prompt: 'Invent a new holiday and describe its traditions.',
});
for await (const textPart of result.textStream) {
console.log(textPart);
}
streamText는 백프레셔를 지원해 요청한 만큼만 토큰을 생성하고, 스트림 완료 시 해결되는 여러 프로미스(result.text, result.toolCalls 등)를 제공해요. 스트림을 AI SDK UI 응답(createUIMessageStreamResponse)으로 연결하면 웹에서 바로 렌더링할 수 있어요.