Bilgi Tabanı Bölümleri ▾

Navigasyon

▸ Buradan başlayın Rol bazlı

Kategoriler

Araçlar 32
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ı oluşturmak için en popüler SDK'dir. Birleşik generateText ve streamText API'si, UI'ya akış desteği (streaming), yerel tool calling, Next.js App Router için hazır yardımcılar — web üzerindeki chatbot'lar, ajanlar ve RAG-pipeline'ları için gereken her şey.

Sorun, herhangi bir LLM uygulamasındakiyle aynıdır — sağlayıcı maliyeti. Streaming sohbet arayüzü her mesajda diyalog geçmişini gönderir, bir ajan onlarca adım boyunca bağlamı (context) taşır. Anthropic ($3-15/1M) ve OpenAI ($2.5-10/1M) fiyatlarıyla, üretimdeki (prod) mütevazı bir kişisel proje bile ayda yüzlerce dolarlık faturaya dönüşebilir.

JoinGonka Gatewaymerkeziyetsiz Gonka ağı üzerinde OpenAI uyumlu bir uç noktadır. Vercel AI SDK, buna herhangi bir OpenAI uyumlu sağlayıcıya bağlanır gibi bağlanır — fork yok, kendi adaptörlerinizi yazmanıza gerek yok. Aynı Kimi K2.6 modeli, aynı streamText, ancak girişte 1M token başına $0.003 — yüzlerce-binlerce kat daha ucuz.

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

JoinGonka API-Key: gate.joingonka.ai/register adresinden kaydolun — başlangıçta 10M ücretsiz token veriyoruz. Dashboard üzerinde jg- ön ekine 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şturuyoruz ve 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 Authorization: Bearer jg-anahtarınız başlığını otomatik olarak ekler — ayrıca bir ayar yapmanıza gerek yoktur. Anahtarı kod içinde değil, GONKA_API_KEY ortam değişkeninde (örneğin .env.local içinde) saklayın.

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

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

Vercel AI SDK'nın en büyük özelliği, yanıtın akışlı (streaming) iletilmesidir. streamText fonksiyonu token'ları anında akıtmaya başlar ve toUIMessageStreamResponse() yardımcısı, hazır akışı doğrudan Next.js App Router içindeki route handler'dan verir.

Sunucu 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 kütüphanesinden useChat hook'unu bağlayın — kendisi /api/chat adresine istek atar ve mesaj akışını render eder. Backend ise OpenAI yerine Gonka ile iletişim kurar.

Arayüzsüz (UI-less) betik (Node, akış üzerinde 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 (distributed computing) hakkında bir haiku yaz',
});

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

Model parametreleri. Gateway üzerinden her ikisinin de bağlam alanı 200K token olan iki model mevcuttur; yanıt sınırı (maxOutputTokens) her biri için en fazla 8192'dir:

Eğer maxOutputTokens belirtilmezse, non-stream istekler için Gateway varsayılan olarak 1500 token'a kadar döner — akışlı sohbetler için bu değeri açıkça belirtmek daha iyidir.

Maliyet Karşılaştırması

Vercel AI SDK genellikle interaktif bir arayüzün arkasında yer alır — sohbet, ajan, uygulama içi asistan. Her mesaj beraberinde diyalog geçmişini çeker, ajanın her adımı araç bağlamını getirir. Bu nedenle gerçek maliyet tek bir isteğe göre değil, prod yüküne göre hesaplanır. Tipik senaryoları karşılaştıralım:

SenaryoTokenAnthropic / OpenAIJoinGonka Gonka
Sohbette bir mesaj~3K$0.01 — $0.05$0.000014
20 mesajlık diyalog~150K$0.50 — $2.25$0.00072
RAG-yanıtı (arama + üretim)~5K$0.015 — $0.05$0.000024
Tool calling ile ajan adımı~10K$0.03 — $0.10$0.000048
Günde 10 000 istek (prod)~50M$150 — $500$0.24

JoinGonka fiyatı girişte 1M token başına yaklaşık $0.003'tür, çıkış yaklaşık üç kat daha pahalıdır. Günde binlerce isteği olan bir uygulama için bu, yüzlerce dolarlık bir fatura ile kuruşlar seviyesindeki bir fatura arasındaki farktır. Ücretsiz 10M token, projeyi üretime almadan önce tamamen test etmek ve hata ayıklamak için yeterlidir.

Araç çağırma ve ajanlar

Vercel AI SDK, araçları tools nesnesi ve zod şeması üzerinden tanımlar. Kimi K2.6, yerel function calling desteğine sahiptir, bu nedenle AI SDK metin yanıtlarını ayrıştırmaya gerek kalmadan yapılandırılmış tool_calls alır. stopWhen: stepCountIs(n) parametresi, birbirini izleyen 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 cevapla.',
});

console.log(text);

Model weather aracını çağırır, sonucu alır ve nihai yanıtı oluşturur. Tüm döngünün maliyeti Gonka üzerinden yaklaşık $0.000048 iken, Anthropic veya OpenAI'da $0.03-0.10 civarındadır. Her kullanıcı isteğinin 5-10 adıma çıktığı ajan tabanlı uygulamalar için üretim maliyetindeki tasarruf ayda binlerce dolarla ölçülür.

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 izlenir.

Vercel AI SDK + Gonka = TypeScript tabanlı, üretime hazır, çok düşük maliyetli AI uygulamaları. createOpenAICompatible, Gateway'i fork'lamadan bağlar; generateText ve streamText normal şekilde çalışır, yerel tool calling ve Next.js route handler özellikleri kullanılabilir — OpenAI ve Anthropic'te $2.5-15 yerine sadece $0.003/1M token.

Daha fazla bilgi edinmek ister misiniz?

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

10 milyon ücretsiz token alın →