Skip to Content

AI SDK 集成

Vercel AI SDK  是一个用于构建 AI 应用的 TypeScript 工具集。AcceleAI 完全兼容 OpenAI 接口,因此你可以直接使用 AI SDK 的 OpenAI Provider 来调用 AcceleAI 上的所有模型。

功能一览

  • 文本生成与流式文本
  • 结构化数据生成与流式对象
  • 图像生成
  • 语音合成 (TTS)
  • 语音识别 (STT)
  • 向量嵌入(单条与批量)
  • 工具调用(如联网搜索)

安装

npm i ai @ai-sdk/openai

Provider 配置

使用 createOpenAI 创建一个指向 AcceleAI 的自定义 Provider:

import { createOpenAI } from '@ai-sdk/openai'; const acceleai = createOpenAI({ apiKey: process.env.ACCELE_AI_API_KEY, baseURL: 'https://api.acceleai.cn/v1', });

也可以通过环境变量配置:

export OPENAI_API_KEY="<ACCELE_AI_API_KEY>" export OPENAI_BASE_URL="https://api.acceleai.cn/v1"
import { openai } from '@ai-sdk/openai'; // 将自动读取上述环境变量

文本生成

import { generateText } from 'ai'; const { text } = await generateText({ model: acceleai('o4-mini'), prompt: '为 4 个人写一个素食千层面食谱。', }); console.log(text);

使用 Claude 模型(通过 AcceleAI 的 OpenAI 兼容接口):

const { text } = await generateText({ model: acceleai('claude-sonnet-4-20250514'), prompt: '用简单的术语解释量子计算。', });

流式文本生成

import { streamText } from 'ai'; const result = streamText({ model: acceleai('gpt-4o-mini'), prompt: '写一个关于机器人学习绘画的短故事。', maxTokens: 256, temperature: 0.3, }); for await (const textPart of result.textStream) { process.stdout.write(textPart); }

结构化数据生成

import { generateObject } from 'ai'; import { z } from 'zod'; const result = await generateObject({ model: acceleai('gpt-4o-mini'), schema: z.object({ recipe: z.object({ name: z.string(), ingredients: z.array(z.object({ name: z.string(), amount: z.string(), })), steps: z.array(z.string()), }), }), prompt: '生成一个千层面食谱。', }); console.log(result.object);

流式结构化对象

import { streamObject } from 'ai'; import { z } from 'zod'; const result = await streamObject({ model: acceleai('gpt-4o-mini'), schema: z.object({ recipe: z.object({ name: z.string(), ingredients: z.array(z.object({ name: z.string(), amount: z.string(), })), steps: z.array(z.string()), }), }), prompt: '生成一个千层面食谱。', }); for await (const part of result.partialObjectStream) { console.log(part); }

图像生成

import { generateImage } from 'ai'; const { image } = await generateImage({ model: acceleai.image('gpt-image-1'), prompt: '山间美丽的日落', });

语音合成 (TTS)

import { generateSpeech } from 'ai'; const { audio } = await generateSpeech({ model: acceleai.speech('tts-1'), text: '你好,这是语音合成的测试。', });

语音识别 (STT)

import { transcribe } from 'ai'; const { text } = await transcribe({ model: acceleai.transcription('whisper-1'), audio: audioFile, }); console.log(text);

向量嵌入

单条嵌入

import { embed } from 'ai'; const { embedding } = await embed({ model: acceleai.embedding('text-embedding-ada-002'), value: '你好,世界!', });

批量嵌入

import { embedMany } from 'ai'; const { embeddings, usage } = await embedMany({ model: acceleai.embedding('text-embedding-3-small'), values: [ '海滩上的晴天', '城市里的雨天下午', '山间的雪夜', ], });

工具调用(联网搜索)

import { generateText } from 'ai'; const { text } = await generateText({ model: acceleai('gpt-4o'), prompt: 'AI 领域最新的发展动态是什么?', tools: { webSearchPreview: acceleai.tools.webSearchPreview({ searchContextSize: 'high', }), }, }); console.log(text);

相关资源