cheapaimodel

Vercel AI SDK

透過 OpenAI 相容供應商,在 Vercel AI SDK 中使用 cheapaimodel 的模型。

複製

AI SDK 透過 @ai-sdk/openai-compatible 供應商連接 OpenAI 相容的服務。為 cheapaimodel 建立一個供應商,再把它的模型傳給 generateText、streamText 與其他 AI SDK 函式。

AI SDK 設定值
Base URLbaseURLhttps://api.cheapaimodel.ai/v1
API KeyapiKey在控制台的 API Key 頁面建立的 Key
模型 IDcheapaimodel(modelId)deepseek-v4-1-flash,或目錄中的任一模型 ID

設定

Terminal
npm install ai @ai-sdk/openai-compatible
cheapaimodel.ts
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";

export const cheapaimodel = createOpenAICompatible({
  name: "cheapaimodel",
  baseURL: "https://api.cheapaimodel.ai/v1",
  apiKey: process.env.CHEAPAIMODEL_API_KEY,
  includeUsage: true, // token usage on streamed responses
});
generate.ts
import { generateText } from "ai";
import { cheapaimodel } from "./cheapaimodel";

const { text } = await generateText({
  model: cheapaimodel("deepseek-v4-1-flash"),
  prompt: "Explain recursion in one sentence.",
});
console.log(text);

這個供應商會把請求送往 /v1/chat/completions。在 Next.js 的 route handler 中用法相同:把 cheapaimodel("deepseek-v4-1-flash") 傳給 model。

串流

stream.ts
import { streamText } from "ai";
import { cheapaimodel } from "./cheapaimodel";

const result = streamText({
  model: cheapaimodel("deepseek-v4-1-flash"),
  prompt: "Write a haiku about rivers.",
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}
console.log("\nTokens:", (await result.usage).totalTokens);

常見錯誤

  • Unauthenticated request to AI Gateway. 模型以純字串傳入,例如 model: "deepseek-v4-1-flash"。AI SDK 會把純字串的模型送往 Vercel AI Gateway,而不是 cheapaimodel。請改為傳入 cheapaimodel("deepseek-v4-1-flash")。
  • Not Found 或 Invalid URL (POST /v1/chat/completions/chat/completions)。 baseURL 漏了 /v1,或寫入了端點路徑。請設為 https://api.cheapaimodel.ai/v1,供應商會自行加上 /chat/completions。
  • 串流呼叫的 token 用量是 undefined。 OpenAI 相容供應商只有在設定 includeUsage: true 時,才會在串流中要求回傳用量。請在供應商設定中保留這一項。
  • 透過 @ai-sdk/openai 進行多輪對話。 它的 createOpenAI 也接受我們的 Base URL,但預設的 openai(modelId) 呼叫的是 Responses API;當你把 SDK 先前的回覆放回 messages 時,它會以 item_reference ID 而非原文傳送這些回覆,只有伺服器保存了那些回應時才行得通。請使用上方的 OpenAI 相容供應商,或改用 openai.chat(modelId)。
複製
開啟方式

本頁內容