Bilgi Tabanı Bölümleri ▾

Navigasyon

▸ Buradan başlayın Rol bazlı

Kategoriler

Araçlar 37
Sözlük 12

Araçlar

Vercel AI SDK + Gonka AI — TypeScript'te yapay zeka uygulamaları kuruşa

Vercel AI SDK, TypeScript ve JavaScript ile AI uygulamaları geliştirmek için en popüler SDK'dir. generateText ve streamText için tek bir API, UI'da akışlı çıktı (streaming), yerel tool calling, Next.js App Router için hazır yardımcılar — web'deki chatbotlar, ajanlar ve RAG pipeline'ları için ihtiyacınız olan her şey.

Sorun, herhangi bir LLM uygulamasındaki ile aynıdır: sağlayıcı maliyeti. Akışlı sohbet arayüzü her mesajda diyalog geçmişini gönderir, ajan bağlamı düzinelerce adım boyunca taşır. Anthropic ($3-15/1M) ve OpenAI ($2.5-10/1M) fiyatlarıyla, üretim ortamındaki mütevazı bir pet-proje bile ayda yüzlerce dolarlık faturalara dönüşür.

JoinGonka Gatewaymerkeziyetsiz Gonka ağı üzerinde çalışan OpenAI uyumlu bir uç noktadır. Vercel AI SDK, ona herhangi bir OpenAI uyumlu sağlayıcı gibi bağlanır — fork olmadan, kendi adaptörleri olmadan. Ticari barındırıcılarla aynı açık modeller — MiniMax M2.7, DeepSeek V4 Flash ve GLM-5.3 Flash — ve aynı streamText, ancak 1M token giriş başına $0.0069 maliyetle — onlarca kat daha ucuz.

Adım 1: Anahtar alın ve sağlayıcıyı bağlayın

JoinGonka API anahtarı: gate.joingonka.ai/register adresinden kayıt olun — başlangıçta 3M ücretsiz token hediye ediyoruz. Dashboard üzerinden jg- önekine sahip bir anahtar oluşturun.

Paket kurulumu. Özel bir OpenAI uyumlu uç nokta (endpoint) için Vercel AI SDK, @ai-sdk/openai-compatible sağlayıcısını önerir:

npm install ai @ai-sdk/openai-compatible

Minimum bağlantıcreateOpenAICompatible aracılığıyla bir sağlayıcı örneği oluşturup generateText fonksiyonunu çağırıyoruz:

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-anahtarınız
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Merkeziyetsiz çıkarım (inference) ağının ne olduğunu açıkla',
});

console.log(text);

apiKey parametresi otomatik olarak Authorization: Bearer jg-anahtarınız başlığını ekler — ayrı bir ayar yapmanıza gerek yoktur. Anahtarı kod içinde değil, GONKA_API_KEY ortam değişkeninde (örneğin .env.local dosyasında) saklayın.

AlternatifcreateOpenAI({ baseURL, apiKey }) fabrikası ile @ai-sdk/openai paketi. Her iki yöntem de çalışır; ancak OpenAI dışındaki uç noktalar için AI SDK dokümantasyonu, OpenAI'a özgü gereksiz varsayımlar içermeyen @ai-sdk/openai-compatible kullanımını önerir.

Adım 2: Akış ve Next.js route işleyicisi

Vercel AI SDK'nın ana özelliği yanıt akışıdır (streaming). streamText fonksiyonu token'ları anında akıtmaya başlar ve toUIMessageStreamResponse() yardımcı fonksiyonu, Next.js App Router'daki bir route handler'dan doğrudan hazır bir akış sunar.

Sunucu tarafı işleyici 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,
});

// 30 saniyeye kadar akışa izin ver
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: 'Yardımsever bir asistansın. Kısa ve öz cevap ver.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Gateway üzerinden çıktı sınırı
  });

  return result.toUIMessageStreamResponse();
}

İstemci tarafında @ai-sdk/react içindeki useChat hook'unu bağlayın; bu hook otomatik olarak /api/chat adresine istek atar ve mesaj akışını render eder. Backend bu esnada OpenAI yerine Gonka ile iletişim kurar.

UI olmadan script (Node, akış üzerinden async-iterator):

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: 'Dağıtık hesaplama hakkında bir haiku yaz',
});

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

Model parametreleri. Gateway üzerinden üç model mevcuttur: MiniMax M2.7 için 200K token bağlamı, DeepSeek V4 Flash için 380K ve GLM-5.3 Flash için 390K; yanıt üst sınırı (maxOutputTokens) MiniMax M2.7 ve GLM-5.3 Flash için 8192, DeepSeek V4 Flash için 32768'dir:

  • MiniMaxAI/MiniMax-M2.7 — varsayılan (MiniMax M2.7);
  • deepseek-ai/DeepSeek-V4-Flash-0731 (DeepSeek V4 Flash, 380K bağlam);
  • zai-org/GLM-5.3-Flash (GLM-5.3 Flash, reasoning-modeli — yanıt vermeden önce düşünür).

Eğer maxOutputTokens belirtilmezse, Gateway non-stream istekler için varsayılan olarak 1500'e kadar token döndürür — streaming sohbetler için bu değeri açıkça belirtmek daha iyidir.

Maliyet Karşılaştırması

Vercel AI SDK genellikle etkileşimli bir arayüzün (sohbet, ajan, uygulama asistanı) arkasında bulunur. Her mesaj beraberinde diyalog geçmişini, her ajan adımı ise araç (tool) bağlamını getirir. Bu nedenle gerçek maliyet tek bir istek üzerinden değil, üretim (prod) yüküne göre hesaplanır. Tipik senaryoları karşılaştıralım:

SenaryoTokenAnthropic / OpenAIJoinGonka Gonka
Tek bir sohbet mesajı~3K$0.01 — $0.05$0.000028
20 mesajlık diyalog~150K$0.50 — $2.25$0.0014
RAG yanıtı (arama + üretme)~5K$0.015 — $0.05$0.000048
Tool calling ile ajan adımı~10K$0.03 — $0.10$0.000096
Günlük 10 000 istek (prod)~50M$150 — $500$0.48

JoinGonka fiyatı, girişte 1M token için yaklaşık $0.0069'dur; çıktı ise yaklaşık üç kat daha pahalıdır. Günlük binlerce istek içeren bir uygulama için bu, yüzlerce dolarlık fatura ile sent düzeyinde bir fatura arasındaki farktır. Ücretsiz 3M token, projenin ilk isteklerini gerçekleştirmek için yeterlidir.

Araç çağırma ve ajanlar

Vercel AI SDK, araçları tools nesnesi ve zod şeması aracılığıyla tanımlayıcı (declarative) bir şekilde açıklar. Ağ modelleri yerel function calling'i destekler, bu nedenle AI SDK metin yanıtlarını ayrıştırmadan yapılandırılmış tool_calls alır. stopWhen: stepCountIs(n) parametresi ardışık birkaç adıma izin verir — model bir aracı çağırır, sonucu alır ve devam eder.

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: 'Şehirdeki hava durumunu öğren',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'Moskova\'da hava nasıl? Tek cümleyle yanıtla.',
});

console.log(text);

Model weather aracını çağırır, sonucu alır ve nihai yanıtı oluşturur. Tüm döngü Gonka üzerinden yaklaşık $0.000048 maliyetindeyken, Anthropic veya OpenAI'da $0.03-0.10'dur. Her kullanıcı isteğinin 5-10 adıma dönüştüğü ajan uygulamaları için, üretim ortamındaki tasarruf ayda binlerce doları bulabilir.

Eğer Python ile bir AI uygulaması inşa ediyorsanız, LangChain rehberine göz atın — orada da OpenAI uyumlu sınıf üzerinden aynı yaklaşım kullanılmaktadır.

Vercel AI SDK + Gonka = TypeScript ile cüzi fiyatlara production-ready AI uygulamaları. createOpenAICompatible, Gateway'i forksuz bağlar, generateText ve streamText her zamanki gibi çalışır, yerel tool calling ve Next.js route handlers — OpenAI ve Anthropic'teki $2.5-15 yerine $0.0069/1M token ile.

Daha fazla bilgi edinmek ister misiniz?

Diğer bölümleri keşfedin veya şimdi GNK kazanmaya başlayın.

Ücretsiz tokenleri al →