快速上手:5 分钟跑通第一个 AI SDK 例子
快速上手5 分钟跑通第一个 AI SDK 例子《读懂 Vercel AI SDK》系列第 1 篇。上一篇讲了它是什么、由哪几块组成。这一篇不谈概念,直接动手:从零跑通第一个例子,再升级成一个能流式对话的聊天应用。一、准备工作:装包 配 Key新建一个项目,装上核心依赖:mkdirmy-ai-appcdmy-ai-apppnpminitpnpmaddai zod dotenvpnpmadd-Dtypes/node tsx typescriptai—— AI SDK 本体zod—— 结构化输出要用的 schema 库(后面几篇会用到)dotenv—— 读环境变量然后配一个 API Key。AI SDK 默认走Vercel AI Gateway,只要一个变量就能调各家模型:# .envAI_GATEWAY_API_KEY你的_keyKey 从哪来?登录 Vercel 控制台 → AI Gateway,创建一个 API Key 即可,一个 Key 就能调 OpenAI / Anthropic / Google 等各家模型。也可以不用 Gateway,直接装某家 provider(比如pnpm add ai-sdk/openai),把变量换成该家的 Key(如OPENAI_API_KEY),再import { openai } from ai-sdk/openai。两种方式在上层代码里用法一致。二、第一个例子:让模型说句话新建index.ts,用generateText发一次请求:import{generateText}fromai;importdotenv/config;asyncfunctionmain(){const{text}awaitgenerateText({model:openai/gpt-5.2,prompt:用一句话介绍 Vercel AI SDK。,});console.log(text);}main().catch(console.error);跑起来:pnpmtsx index.ts终端里就能看到模型的回答。恭喜,这就是一个完整的 AI 调用了——注意model那一行,以后想换模型,改的就是它。三、升级:变成打字机(流式)上面的例子要等模型全部生成完才输出。想要一个字一个字冒出来的效果,把generateText换成streamText,从textStream里逐段读:import{streamText}fromai;importdotenv/config;asyncfunctionmain(){constresultstreamText({model:openai/gpt-5.2,prompt:写一段关于秋天的短文。,});forawait(constdeltaofresult.textStream){process.stdout.write(delta);// 边生成边打印}}main().catch(console.error);注意streamText不用await——它立刻返回,内容通过textStream异步流出。(这两个函数的细节,下一篇会专门展开。)四、做成真正的应用:Next.js 聊天命令行跑通了,再看怎么变成一个网页聊天。这次用 Next.js,先起一个项目并装依赖:pnpmcreate next-applatest my-chat# 一路回车用默认配置即可cdmy-chatpnpmaddai ai-sdk/react zod然后把上一节那个AI_GATEWAY_API_KEY放进项目根目录的.env.local(Next.js 用这个文件名):# .env.localAI_GATEWAY_API_KEY你的_key一个网页聊天需要一后端一前端两个文件。后端——app/api/chat/route.ts,接收消息、用streamText生成、把流吐回去:import{streamText,convertToModelMessages,UIMessage}fromai;exportasyncfunctionPOST(req:Request){const{messages}:{messages:UIMessage[]}awaitreq.json();constresultstreamText({model:openai/gpt-5.2,messages:convertToModelMessages(messages),});returnresult.toUIMessageStreamResponse();// 一步转成前端能消费的流式响应}前端——app/page.tsx,用useChat接管所有聊天状态:use client;import{useChat}fromai-sdk/react;import{useState}fromreact;exportdefaultfunctionChat(){const[input,setInput]useState();const{messages,sendMessage}useChat();return(div{messages.map(m(div key{m.id}b{m.roleuser?你:AI}/b{m.parts.map((p,i)(p.typetext?span key{i}{p.text}/span:null))}/div))}form onSubmit{e{e.preventDefault();sendMessage({text:input});setInput();}}input value{input}onChange{esetInput(e.target.value)}placeholder说点什么…//form/div);}就这些。启动开发服务器,打开浏览器就能对话了:pnpmdev# 然后访问 http://localhost:3000useChat自动帮你处理了发请求、流式接收、消息状态、打字机效果——你只写了渲染。一个能实时对话的聊天框就跑起来了。五、你刚刚用到了整个系列的骨架别看例子小,它其实已经串起了后面每一篇的主题:你写的对应后面哪篇generateText/streamText第 2 篇 · 文本生成与流式zod(还没用上,但装好了)第 3 篇 · 结构化输出useChat第 6 篇 · AI SDK UItoUIMessageStreamResponse背后的流第 7 篇 · Stream Protocol小结三步起步:pnpm add ai→ 配AI_GATEWAY_API_KEY→ 写第一个generateText。要打字机效果就换streamText,从textStream逐段读,记得它不用await。做成网页应用只要两个文件:后端streamTexttoUIMessageStreamResponse(),前端useChat。换模型永远只改model那一行。下一篇,我们把这里一带而过的两个核心函数讲透:文本生成与流式。参考AI SDK · Getting Started (Node.js) · Next.js App Router

相关新闻

高并发场景下的网络IO性能优化实战

高并发场景下的网络IO性能优化实战

1. 网络IO性能优化概述 在分布式系统和高并发场景中,网络IO性能往往成为系统瓶颈。我曾处理过一个电商大促案例,当QPS达到5万时,TCP连接数暴增导致响应时间从50ms恶化到800ms。通过系统性的网络协议栈优化,最终将吞吐量提升了3倍。…

2026/8/15 8:31:05 阅读更多 →
手机号码定位别再手动查了:这个开源归属地查询工具,3秒让号码落到地图上

手机号码定位别再手动查了:这个开源归属地查询工具,3秒让号码落到地图上

手机号码定位别再手动查了:这个开源归属地查询工具,3秒让号码落到地图上 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址:…

2026/8/16 9:48:29 阅读更多 →
走进 VLM(二):Vision Encoder——VLM 到底是怎么看懂一张图片的?从 CNN 到 Vision Transformer

走进 VLM(二):Vision Encoder——VLM 到底是怎么看懂一张图片的?从 CNN 到 Vision Transformer

专栏:走进 VLM——从视觉语言模型到多模态 Agent 的技术实战本文是专栏第 2 篇,共 20 篇。关键词:Vision Encoder、ViT、CNN、Patch Embedding、Attention、视觉 Token、CLIP一、上一章回顾:VLM 为什么需要“眼睛”?在…

2026/8/15 8:31:05 阅读更多 →

最新新闻

NanoClaw架构设计:微服务粒度划分与高效协同的工程实践

NanoClaw架构设计:微服务粒度划分与高效协同的工程实践

1. 项目概述:从“小爪子”到“大心脏”的架构哲学 最近在梳理一些轻量级、高内聚的微服务架构方案时,NanoClaw这个设计模式反复被圈内朋友提及。乍一听这个名字,感觉像是什么科幻小说里的纳米机器人,但实际上,它代表了…

2026/8/16 10:59:54 阅读更多 →
Godot引擎CanvasItem与Node2D核心机制解析:从渲染原理到自定义节点实战

Godot引擎CanvasItem与Node2D核心机制解析:从渲染原理到自定义节点实战

1. 从“画布”到“舞台”:理解Godot渲染的基石 如果你刚开始接触Godot引擎,面对 CanvasItem 、 Node2D 和“自定义节点”这几个概念,可能会有点懵。它们听起来都跟2D有关,但又好像不是一回事。我刚开始用Godot做2D项目时&…

2026/8/16 10:59:54 阅读更多 →
BiliDownload一步步实战:把B站视频稳稳存进本地的完整指南

BiliDownload一步步实战:把B站视频稳稳存进本地的完整指南

BiliDownload一步步实战:把B站视频稳稳存进本地的完整指南 【免费下载链接】BiliDownload B站视频下载工具 项目地址: https://gitcode.com/gh_mirrors/bil/BiliDownload 副标题:3步完成环境准备,从零下载第一支视频,再避开…

2026/8/16 10:59:54 阅读更多 →
Outcome 核心概念与实战应用指南

Outcome 核心概念与实战应用指南

在 Rust 开发中,处理函数返回结果往往是最让人头疼的环节之一。传统的异常抛出机制虽然直观,但在系统编程领域,它容易掩盖错误的真实来源,导致运行时 panic,进而影响整个服务的稳定性。很多开发者在从其他语言转向 Rus…

2026/8/16 10:59:54 阅读更多 →
2026年AI Agent框架深度对比:CrewAI、OpenClaw、Hermes与AutoGPT选型指南

2026年AI Agent框架深度对比:CrewAI、OpenClaw、Hermes与AutoGPT选型指南

1. 项目缘起:为什么我们需要在2026年重新审视AI Agent框架? 如果你在2024年或2025年接触过AI Agent开发,大概率会听过AutoGPT、CrewAI这些名字。它们像一阵风,席卷了技术社区,让“智能体”从一个学术概念变成了可以快速…

2026/8/16 10:59:54 阅读更多 →
高校就业质量报告深度解读:超越平均薪资的四维分析与应用指南

高校就业质量报告深度解读:超越平均薪资的四维分析与应用指南

1. 报告解读:一份就业质量报告,到底在说什么? 又到了一年毕业季,各大高校的《毕业生就业质量报告》陆续出炉。最近,渤海大学的这份报告也进入了公众视野。很多人拿到这样一份动辄几十页、图表繁多的报告,第…

2026/8/16 10:58:53 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →