Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 37
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.0069/1M token pada input — puluhan kali lebih murah.

Langkah 1: Dapatkan Kunci dan Hubungkan Penyedia

API-key JoinGonka: daftar di gate.joingonka.ai/register — kami berikan 3M token gratis saat memulai. Di Dashboard, buat kunci dengan awalan 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 dalam variabel lingkungan GONKA_API_KEY (misalnya di .env.local), bukan di kode.

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

Langkah 2: Streaming dan Next.js route handler

Fitur utama Vercel AI SDK adalah streaming respons. Fungsi streamText mulai melakukan streaming token secara langsung, dan helper toUIMessageStreamResponse() memberikan aliran (stream) yang siap digunakan 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,
});

// 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: 'Anda adalah asisten yang membantu. Jawab dengan singkat dan jelas.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // batas output melalui Gateway
  });

  return result.toUIMessageStreamResponse();
}

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

Skrip tanpa UI (Node, async-iterator pada 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 tiga model: konteks 200K token untuk MiniMax M2.7, 380K untuk DeepSeek V4 Flash, dan 390K untuk GLM-5.3 Flash; batas respons (maxOutputTokens) adalah 8192 untuk MiniMax M2.7 dan GLM-5.3 Flash, serta 32768 untuk DeepSeek V4 Flash:

Jika maxOutputTokens tidak diatur, untuk permintaan non-stream, Gateway secara default akan mengembalikan hingga 1500 token — untuk chat streaming, sebaiknya tentukan 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.0069 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 alat secara deklaratif melalui objek tools dan skema zod. Model jaringan mendukung pemanggilan fungsi native, sehingga AI SDK menerima tool_calls terstruktur tanpa perlu menguraikan teks respons. Parameter stopWhen: stepCountIs(n) mengizinkan beberapa langkah berturut-turut — model memanggil alat, 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 alat weather, menerima hasil, dan membentuk jawaban akhir. Seluruh siklus menelan biaya sekitar $0.000048 melalui Gonka dibandingkan $0.03-0.10 di Anthropic atau OpenAI. Untuk aplikasi agen di mana setiap permintaan pengguna melibatkan 5-10 langkah, penghematan di produksi bisa mencapai ribuan dolar per bulan.

Jika Anda membangun aplikasi AI dengan Python, lihat panduan LangChain — pendekatan yang sama digunakan melalui 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.0069/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 →