Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 54
Glosarium 12

Alat

Vercel AI SDK + Gonka AI — Aplikasi AI di TypeScript dengan biaya rendah

Vercel AI SDK adalah SDK paling populer untuk membuat aplikasi AI di TypeScript dan JavaScript. API terpadu generateText dan streamText, streaming ke UI, pemanggilan alat native, dan helper siap pakai untuk Next.js App Router — semua yang Anda butuhkan untuk chatbot, agen, dan alur RAG di web.

Masalahnya sama dengan aplikasi LLM mana pun — biaya penyedia. Antarmuka obrolan streaming mengirimkan riwayat dialog pada setiap pesan, agen memproses konteks melalui puluhan langkah. Dengan harga Anthropic ($3-15/1M) dan OpenAI ($2.5-10/1M), proyek kecil di produksi saja bisa berubah menjadi tagihan ratusan dolar per bulan.

JoinGonka Gateway — endpoint yang kompatibel dengan OpenAI di atas jaringan terdesentralisasi Gonka. Vercel AI SDK terhubung ke sini seperti ke penyedia kompatibel OpenAI lainnya — tanpa fork, tanpa adaptor sendiri. Model terbuka yang sama dengan yang disediakan oleh hosting komersial — MiniMax M2.7, DeepSeek V4 Flash, dan GLM-5.3 Flash — dengan streamText yang sama, tetapi dengan harga $0.0062/1M token pada input — puluhan kali lebih murah.

Langkah 1: Dapatkan Kunci dan Hubungkan Penyedia

Kunci API JoinGonka: daftar di gate.joingonka.ai/register — di awal kami beri 3M token gratis. Di Dashboard, buat kunci dengan awalan jg-.

Instalasi paket. Untuk endpoint kustom yang kompatibel dengan OpenAI, Vercel AI SDK merekomendasikan provider @ai-sdk/openai-compatible:

npm install ai @ai-sdk/openai-compatible

Koneksi minimal — buat instance provider lewat createOpenAICompatible lalu panggil generateText:

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY, // jg-your-key
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Explain what a decentralized inference network is',
});

console.log(text);

Parameter apiKey otomatis menambahkan header Authorization: Bearer jg-your-key — tidak perlu pengaturan tambahan. Simpan kunci di variabel lingkungan GONKA_API_KEY (misalnya di .env.local), bukan di dalam kode.

Alternatif — paket @ai-sdk/openai dengan factory createOpenAI({ baseURL, apiKey }). Kedua cara sama-sama berfungsi; untuk endpoint yang bukan milik OpenAI, dokumentasi AI SDK justru menyarankan @ai-sdk/openai-compatible — paket ini tidak membawa asumsi khusus OpenAI yang tidak perlu.

Langkah 2: Streaming dan Next.js route handler

Keunggulan utama Vercel AI SDK adalah penyajian respons secara streaming. Fungsi streamText langsung mulai men-stream token, dan helper toUIMessageStreamResponse() mengirimkan stream siap pakai langsung dari route handler di Next.js App Router.

Handler sisi server app/api/chat/route.ts:

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText, convertToModelMessages, type UIMessage } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

// allow streaming for up to 30 seconds
export const maxDuration = 30;

export async function POST(req: Request) {
  const { messages }: { messages: UIMessage[] } = await req.json();

  const result = streamText({
    model: gonka('MiniMaxAI/MiniMax-M2.7'),
    system: 'You are a helpful assistant. Answer briefly and to the point.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Gateway output cap
  });

  return result.toUIMessageStreamResponse();
}

Di sisi klien, pasang hook useChat dari @ai-sdk/react — hook ini otomatis memanggil /api/chat dan merender aliran pesan. Backend-nya sendiri mengakses Gonka, bukan OpenAI.

Skrip tanpa UI (Node, async iterator atas stream):

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

const result = streamText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Write a haiku about distributed computing',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}

Parameter model. Lewat Gateway tersedia tiga model: konteks 180K token pada MiniMax M2.7, 380K pada DeepSeek V4 Flash, dan 390K pada GLM-5.3 Flash; batas atas respons (maxOutputTokens) adalah 8192 pada MiniMax M2.7 dan GLM-5.3 Flash, serta 32768 pada DeepSeek V4 Flash:

Jika maxOutputTokens tidak diisi, untuk permintaan non-stream Gateway secara default mengembalikan hingga 1500 token — untuk chat streaming sebaiknya isi nilainya secara eksplisit.

Perbandingan Biaya

Vercel AI SDK biasanya berada di belakang antarmuka interaktif — obrolan, agen, asisten dalam aplikasi. Setiap pesan menarik riwayat dialog, setiap langkah agen menarik konteks alat. Oleh karena itu, biaya sebenarnya tidak dihitung per satu permintaan, tetapi berdasarkan beban produksi. Mari bandingkan skenario tipikal:

SkenarioTokenAnthropic / OpenAIJoinGonka Gonka
Satu pesan di obrolan~3K$0.01 — $0.05$0.000028
Dialog 20 baris~150K$0.50 — $2.25$0.0014
Jawaban RAG (pencarian + generasi)~5K$0.015 — $0.05$0.000048
Langkah agen dengan tool calling~10K$0.03 — $0.10$0.000096
10 000 permintaan per hari (prod)~50M$150 — $500$0.48

Harga JoinGonka sekitar $0.0062 per 1M token masuk, keluar sekitar tiga kali lipat lebih mahal. Untuk aplikasi dengan ribuan permintaan per hari, ini adalah perbedaan antara tagihan ratusan dolar dan tagihan recehan. 3M token gratis cukup untuk menjalankan permintaan pertama proyek.

Tool calling dan agen

Vercel AI SDK mendeskripsikan tool secara deklaratif lewat objek tools dan skema zod. Model di jaringan mendukung native function calling, jadi AI SDK menerima tool_calls terstruktur tanpa perlu mem-parsing respons teks. Parameter stopWhen: stepCountIs(n) memungkinkan beberapa langkah berturut-turut — model memanggil tool, menerima hasilnya, lalu melanjutkan.

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText, tool, stepCountIs } from 'ai';
import { z } from 'zod';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  stopWhen: stepCountIs(5),
  tools: {
    weather: tool({
      description: 'Get the weather in a city',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'What is the weather in Moscow? Answer in one sentence.',
});

console.log(text);

Model memanggil tool weather, menerima hasilnya, lalu menyusun jawaban akhir. Seluruh siklus ini hanya memakan sekitar $0,000048 lewat Gonka, dibandingkan $0,03-0,10 di Anthropic atau OpenAI. Untuk aplikasi agentic, di mana setiap permintaan pengguna berkembang menjadi 5-10 langkah, penghematan di produksi bisa mencapai ribuan dolar per bulan.

Kalau Anda membangun aplikasi AI dengan Python, lihat panduan LangChain — pendekatannya sama, lewat kelas yang kompatibel dengan OpenAI.

Vercel AI SDK + Gonka = aplikasi AI siap produksi di TypeScript dengan biaya sangat murah. createOpenAICompatible menghubungkan Gateway tanpa fork, generateText dan streamText bekerja seperti biasa, tool calling asli dan Next.js route handlers — semua seharga $0.0062/1M token, dibandingkan $2.5-15 di OpenAI dan Anthropic.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan token gratis →