TodayAI

Guides快速开始

用 Vercel AI SDK 生成第一段文本

按 AI SDK Core:用 generateText 拿到完整文本,或用 streamText 边生成边消费 textStream。

基于 Vercel AI SDK 整理 · 官方资料 ↗

AI SDK Core 把「选模型 + 发提示 + 拿结果」收成少量函数。最基础的两个是 generateText(一次性完整结果)和 streamText(流式输出)。

工具调用、结构化输出等能力都建立在文本生成之上。这篇先把第一段文本跑通。

用 generateText 生成完整文本

适合非交互场景:写邮件草稿、摘要网页、Agent 内部一步推理。官方最小例子:

官方 generateText

typescript
import { generateText } from 'ai';

const { text } = await generateText({
  model: 'xai/grok-4.5',
  prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});

结果对象里还有 usage、finishReason、steps、toolCalls 等字段;日常打印 text 即可确认成功。

用 instructions 加强约束

官方 instructions + prompt

typescript
import { generateText } from 'ai';

const { text } = await generateText({
  model: 'xai/grok-4.5',
  instructions:
    'You are a professional writer. ' +
    'You write simple, clear, and concise content.',
  prompt: `Summarize the following article in 3-5 sentences: ${article}`,
});

需要即时反馈时用 streamText

完整生成可能要等很久。streamText 立刻开始流式返回,适合聊天与实时界面。

官方 streamText

typescript
import { streamText } from 'ai';

const result = streamText({
  model: 'xai/grok-4.5',
  prompt: 'Invent a new holiday and describe its traditions.',
});

for await (const textPart of result.textStream) {
  console.log(textPart);
}

必须消费 stream,生成才会继续(背压)。错误不会直接抛垮进程,应用 onError 记录。

怎样算跑通

  • generateText 返回非空 text
  • streamText 能持续打印 textStream 分片
  • 模型 ID 与网关/Provider 凭证配置正确

下一步若要让模型调用外部函数,看 用 Vercel AI SDK 完成 Tool Calling

容易踩的坑

streamText 看起来卡住

确认已 for-await 消费 textStream;不消费则可能不继续生成。

模型字符串无效

按当前 AI SDK / Gateway 文档使用有效的 model ID,并配置对应 API Key。

只看到空响应

检查 finishReason 与 warnings;确认 prompt 非空且网络可访问模型服务。

官方资料

Vercel AI SDK

Generating and Streaming Text