Vercel AI SDK
Pakai model cheapaimodel di Vercel AI SDK lewat penyedia yang kompatibel dengan OpenAI.
AI SDK terhubung ke layanan yang kompatibel dengan OpenAI lewat penyedia (provider) @ai-sdk/openai-compatible. Buat satu penyedia untuk cheapaimodel, lalu berikan model-modelnya ke generateText, streamText, dan fungsi AI SDK lainnya.
| Pengaturan AI SDK | Nilai | |
|---|---|---|
| Base URL | baseURL | https://api.cheapaimodel.ai/v1 |
| API key | apiKey | Key kamu dari halaman API key di Konsol |
| ID model | cheapaimodel(modelId) | deepseek-v4-1-flash, atau ID apa pun dari katalog |
Penyiapan
npm install ai @ai-sdk/openai-compatibleimport { 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
});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);Penyedia ini mengirim permintaan ke /v1/chat/completions. Cara kerjanya sama di route handler Next.js: berikan cheapaimodel("deepseek-v4-1-flash") sebagai model.
Streaming
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);Kesalahan umum
Unauthenticated request to AI Gateway.Model diberikan sebagai string biasa, misalnyamodel: "deepseek-v4-1-flash". AI SDK mengirim string model biasa ke Vercel AI Gateway, bukan ke cheapaimodel. Berikancheapaimodel("deepseek-v4-1-flash")sebagai gantinya.Not FoundatauInvalid URL (POST /v1/chat/completions/chat/completions).baseURLtidak memakai/v1, atau malah menyertakan path endpoint. Isi persis denganhttps://api.cheapaimodel.ai/v1; penyedia akan menambahkan/chat/completionssendiri.- Pemakaian token bernilai
undefinedpada panggilan streaming. Penyedia yang kompatibel dengan OpenAI hanya meminta data pemakaian di stream kalauincludeUsage: truediatur. Biarkan opsi itu tetap ada di pengaturan penyedia. - Percakapan multi-turn lewat
@ai-sdk/openai.createOpenAIdari paket itu juga menerima Base URL kami, tapiopenai(modelId)default memanggil Responses API. Saat kamu mengirim balik balasan SDK sebelumnya dimessages, balasan itu dikirim sebagai IDitem_reference, bukan sebagai teks. Cara ini hanya jalan kalau server menyimpan respons tersebut. Pakai penyedia yang kompatibel dengan OpenAI di atas, atauopenai.chat(modelId).