我们都知道,大语言模型 (LLM) 本质上是一个能够大规模理解、创建和处理人类语言的高级程序。
大模型厂商前期使用海量数据进行预训练,使得这个模型能够根据用户输入预测下一个 Token。
AI SDK Core 提供一种统一标准化调用方式,将 LLM 集成到你的 AI 应用程序中,简化了大模型的使用,现在,你尽管专注于开发 AI 应用,而不用浪费时间在每次接入大模型的细枝末节上。
AISDK 封装了一些调用大模型并返回结构化内容或者流式数据的函数,给开发者直接使用。
AI SDK 基本用法
这是一个使用 AI SDK Core 进行 openai 模型调用的示例:
import { generateText } from "ai"
import { openai } from "@ai-sdk/openai"
const { text } = await generateText({
model: openai("o3-mini"),
prompt: "谁是最强大模型 ?"
})
当然,如果使用 Google 的模型,可以这样使用:
import { generateText } from "ai"
import { google } from "@ai-sdk/google"
const { text } = await generateText({
model: google("models/gemini-2.0-flash-exp"),
prompt: "谁是最强大模型 ?"
})
用 Anthropic 家的 Clude 系列模型可以这样:
import { generateText } from "ai"
import { anthropic } from "@ai-sdk/anthropic"
const { text } = await generateText({
model: anthropic("claude-3-5-sonnet-latest"),
prompt: "谁是最强大模型 ?"
})
解耦非常合理,自然,这里的 import { generateText } from "ai" 就是来自 AI SDK Core,只负责调用各家模型厂商的模型服务,以及切换对应的 model 并传入提示词 prompt 。
最后通过 generateText 异步函数得到模型返回的内容 text。
模型供应商通过各家提供的 SDK 集成进来,互不干扰,非常清晰明了。
DeepSeek 思考模型
当然我们国产之光 DeepSeek 也是有对应 SDK 的:
import { generateText } from 'ai';
import { deepseek } from '@ai-sdk/deepseek';
const { reasoning, text } = await generateText({
model: deepseek('deepseek-reasoner'),
prompt: 'DeepSeek 国产之光,牛不牛?',
});
这里返回多了一个 reasoning 是代表思考的内容,因为咱们的 DeepSeek 深度思考就是一大亮点。
自定义的 Provider
当然如果在 NPM 包管理平台上找不到你想要的模型厂商的 SDK,你可以自己动手开发或者封装你的自定义模型 SDK:
import { generateText } from "ai"
import { dengjudeng } from "@ai-sdk/dengjudeng"
const { text } = await generateText({
model: custom("dengjudeng-r2"),
prompt: "dengjudeng r2 模型,牛不牛?"
})
比如你自己拿到了很多 A100 卡,照着 DeepSeep 公开的论文从头到尾训练了一个你自己的深度思考模型,叫做 dengjudeng-r2 然后,你自己封装一个叫做 @ai-sdk/dengjudeng 的 Nodejs SDK 包,发布到 NPM 包管理平台上后,全世界的开发者就能使用你训练好的大模型了。
我们下一篇会讲《如何封装你自己的 AI SDK Providers》