参考手册Workspace 包参考
ai AI 集成
统一的 AI 调用接口,一行代码切换 AI 厂商(OpenAI、DeepSeek、通义千问、豆包等)
这是什么
@01mvp/ai 是项目的 AI 调用包。它基于 Vercel AI SDK 做了一层封装,让你不用关心具体是哪个 AI 厂商,只要写好对话内容,剩下的交给它。
支持的厂商包括 OpenAI、DeepSeek、通义千问(阿里云)、字节豆包等,只要兼容 OpenAI API 格式的都能用。
能做什么
- 文字生成:给 AI 一段提示(Prompt),让它生成文字回复。比如"帮我写一段产品介绍"
- 结构化输出:让 AI 返回固定格式的数据(JSON),方便程序处理。比如“给我返回
{姓名, 年龄, 爱好}格式的用户资料” - 流式输出:像 ChatGPT 那样一个字一个字蹦出来,不用等全部生成完才能看到结果
- 文本向量化(Embedding):把文字转成数学向量,用于语义搜索、相似度比较等
切换 AI 厂商只需要改三个环境变量(AI_API_KEY、AI_BASE_URL、AI_MODEL),业务代码完全不用动。如果同时用了多个厂商,环境变量有优先级:AI_API_KEY > OPENAI_API_KEY > ARK_API_KEY。
怎么配置
在 .env.local 里设置三个环境变量就能切换厂商和模型:
# 用 OpenAI
AI_API_KEY=sk-...
AI_BASE_URL=https://api.openai.com/v1
AI_MODEL=gpt-4o-mini
# 换成 DeepSeek(改这三行就行,代码不用动)
AI_API_KEY=sk-...
AI_BASE_URL=https://api.deepseek.com/v1
AI_MODEL=deepseek-chat
# 换成通义千问
AI_API_KEY=sk-...
AI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
AI_MODEL=qwen-turbo
# 换成字节豆包
AI_API_KEY=...
AI_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
AI_MODEL=ep-...环境变量有优先级:AI_API_KEY > OPENAI_API_KEY > ARK_API_KEY。如果你用了多个 AI 服务,设置带 AI_ 前缀的就行。
大概原理
你的代码
-> 调用 @01mvp/ai 的统一接口(generateText / streamText 等)
-> 自动读取环境变量(AI_API_KEY / AI_BASE_URL / AI_MODEL)
-> 选择对应的 AI 厂商
-> 调用该厂商的 API
-> 返回结果给你的代码你不需要自己创建客户端、配置连接参数。包内部会自动读取环境变量创建好一切。如果临时想换模型,也可以传参数覆盖环境变量。
相关链接
- AI 开发工作流 -- 如何在项目中使用 AI 功能
- Vercel AI SDK 文档 -- 底层 SDK 的完整文档