Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 32
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 menggunakan TypeScript dan JavaScript. API terpadu generateText dan streamText, streaming ke UI, tool calling native, helper siap pakai untuk Next.js App Router — semua yang dibutuhkan untuk chatbot, agent, dan pipeline RAG di web.

Masalahnya sama dengan aplikasi LLM lainnya — biaya penyedia. Antarmuka chat streaming mengirim riwayat dialog pada setiap pesan, agent menjalankan konteks melalui puluhan tahap. Dengan harga Anthropic ($3-15/1M) dan OpenAI ($2.5-10/1M), bahkan proyek sederhana di produksi bisa membengkak menjadi ratusan dolar per bulan.

JoinGonka Gateway — endpoint yang kompatibel dengan OpenAI di atas jaringan terdesentralisasi Gonka. Vercel AI SDK terhubung ke sini seperti penyedia yang kompatibel dengan OpenAI lainnya — tanpa fork, tanpa adapter sendiri. Model yang sama Kimi K2.6, streamText yang sama, namun dengan harga $0.003/1M token input — ratusan hingga ribuan kali lebih murah.

Langkah 1: Dapatkan Kunci dan Hubungkan Penyedia

API-key JoinGonka: daftar di gate.joingonka.ai/register — kami berikan 10M token gratis di awal. Di Dashboard, buat kunci dengan prefiks jg-.

Instalasi paket. Untuk endpoint 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 melalui createOpenAICompatible dan 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-kunci-anda
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Jelaskan apa itu jaringan inferensi terdesentralisasi',
});

console.log(text);

Parameter apiKey secara otomatis menambahkan header Authorization: Bearer jg-kunci-anda — pengaturan terpisah tidak diperlukan. Simpan kunci di variabel lingkungan GONKA_API_KEY (misalnya, di .env.local), jangan langsung di dalam kode.

Alternatif — paket @ai-sdk/openai dengan factory createOpenAI({ baseURL, apiKey }). Kedua cara tersebut bisa digunakan; untuk endpoint yang bukan milik OpenAI, dokumentasi AI SDK menyarankan penggunaan @ai-sdk/openai-compatible — karena tidak menyertakan asumsi khusus OpenAI yang tidak perlu.

Langkah 2: Streaming dan Next.js route handler

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

Server handler 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,
});

// izinkan streaming hingga 30 detik
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: 'Kamu adalah asisten yang bermanfaat. Jawablah dengan singkat dan jelas.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // batas output via Gateway
  });

  return result.toUIMessageStreamResponse();
}

Di sisi klien, sambungkan hook useChat dari @ai-sdk/react — hook ini akan menangani koneksi ke /api/chat dan merender aliran pesan. Backend kemudian akan berkomunikasi dengan Gonka, bukan OpenAI.

Skrip tanpa UI (Node, async-iterator melalui 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: 'Tulis haiku tentang komputasi terdistribusi',
});

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

Parameter Model. Melalui Gateway, tersedia dua model dengan konteks 200K token masing-masing; batas respons (maxOutputTokens) adalah hingga 8192 untuk setiap model:

Jika maxOutputTokens tidak diatur, untuk permintaan non-stream, Gateway secara default akan mengembalikan hingga 1500 token — untuk chat streaming, sebaiknya tentukan nilai tersebut secara eksplisit.

Perbandingan Biaya

Vercel AI SDK biasanya ada di balik antarmuka interaktif — chat, agent, asisten aplikasi. Setiap pesan membawa riwayat dialog, setiap langkah agent membawa konteks alat. Oleh karena itu, biaya sebenarnya dihitung bukan per permintaan, melainkan berdasarkan beban produksi. Mari bandingkan skenario umum:

SkenarioTokenAnthropic / OpenAIJoinGonka Gonka
Satu pesan chat~3K$0.01 — $0.05$0.000014
Dialog 20 baris~150K$0.50 — $2.25$0.00072
Respon RAG (pencarian + generasi)~5K$0.015 — $0.05$0.000024
Langkah agent dengan tool calling~10K$0.03 — $0.10$0.000048
10 000 permintaan per hari (prod)~50M$150 — $500$0.24

Biaya JoinGonka sekitar $0.003 per 1M token input, output kira-kira tiga kali lebih mahal. Untuk aplikasi dengan ribuan permintaan per hari, ini adalah perbedaan antara tagihan ratusan dolar dan tagihan sen saja. 10M token gratis cukup untuk menjalankan dan melakukan debug proyek sepenuhnya sampai dirilis ke produksi.

Tool calling dan agen

Vercel AI SDK mendeskripsikan tools secara deklaratif melalui objek tools dan skema zod. Kimi K2.6 mendukung function calling asli, sehingga AI SDK menerima tool_calls terstruktur tanpa perlu mengurai respon teks. Parameter stopWhen: stepCountIs(n) mengizinkan beberapa langkah berturut-turut — model memanggil tool, menerima hasil, dan 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: 'Mengetahui cuaca di kota',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'Bagaimana cuaca di Moskow? Jawab dalam satu kalimat.',
});

console.log(text);

Model memanggil tool weather, menerima hasil, dan menyusun jawaban akhir. Seluruh siklus menelan biaya sekitar $0.000048 melalui Gonka dibandingkan dengan $0.03-0.10 di Anthropic atau OpenAI. Untuk aplikasi agensi, di mana setiap permintaan pengguna berkembang menjadi 5-10 langkah, penghematan pada produksi diukur dalam ribuan dolar per bulan.

Jika Anda membangun aplikasi AI dengan Python, lihat panduan LangChain — di sana menggunakan pendekatan yang sama melalui kelas yang kompatibel dengan OpenAI.

Vercel AI SDK + Gonka = aplikasi AI siap produksi dengan TypeScript dengan harga sangat murah. createOpenAICompatible menghubungkan Gateway tanpa fork, generateText dan streamText bekerja seperti biasa, tool calling asli dan route handler Next.js — semuanya hanya $0.003/1 juta token dibandingkan $2.5-15 di OpenAI dan Anthropic.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan 10 juta token gratis →