Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 32
Glossar 12

Werkzeuge

Vercel AI SDK + Gonka AI – KI-Anwendungen mit TypeScript für kleines Geld

Vercel AI SDK ist das beliebteste SDK für die Erstellung von AI-Anwendungen mit TypeScript und JavaScript. Eine einheitliche API mit generateText und streamText, Streaming ins UI, natives Tool Calling, fertige Helfer für den Next.js App Router — alles, was man für Chatbots, Agenten und RAG-Pipelines im Web benötigt.

Das Problem ist das gleiche wie bei jeder LLM-Anwendung — die Kosten des Providers. Die Streaming-Chat-Schnittstelle sendet die Dialoghistorie mit jeder Nachricht, ein Agent verarbeitet Kontext über Dutzende Schritte. Bei den Preisen von Anthropic ($3-15/1M) und OpenAI ($2.5-10/1M) kann selbst ein bescheidenes Pet-Projekt in der Produktion schnell hunderte Dollar im Monat kosten.

JoinGonka Gateway — ein OpenAI-kompatibler Endpunkt über dem dezentralen Gonka-Netzwerk. Das Vercel AI SDK verbindet sich damit wie mit jedem anderen OpenAI-kompatiblen Provider — ohne Fork, ohne eigene Adapter. Dasselbe Modell Kimi K2.6, derselbe streamText, aber für $0.003/1M Token im Input — hunderte bis tausende Male günstiger.

Schritt 1: Schlüssel erhalten und Anbieter verbinden

JoinGonka API-Key: Registrieren Sie sich unter gate.joingonka.ai/register — zu Beginn erhalten Sie 10M kostenlose Tokens. Erstellen Sie im Dashboard einen Key mit dem Präfix jg-.

Installation von Paketen. Für individuelle OpenAI-kompatible Endpunkte empfiehlt das Vercel AI SDK den Provider @ai-sdk/openai-compatible:

npm install ai @ai-sdk/openai-compatible

Minimale Anbindung — wir erstellen eine Provider-Instanz via createOpenAICompatible und rufen generateText auf:

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-Ihr-Key
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Erkläre, was ein dezentrales Inferenznetzwerk ist',
});

console.log(text);

Der Parameter apiKey fügt automatisch den Header Authorization: Bearer jg-Ihr-Key hinzu – eine separate Konfiguration ist nicht erforderlich. Speichern Sie den Key in der Umgebungsvariablen GONKA_API_KEY (z. B. in .env.local), nicht im Code.

Alternative — das Paket @ai-sdk/openai mit der Factory createOpenAI({ baseURL, apiKey }). Beide Methoden funktionieren; für Endpunkte, die nicht zu OpenAI gehören, empfiehlt die AI SDK Dokumentation ausdrücklich @ai-sdk/openai-compatible, da es keine unnötigen OpenAI-spezifischen Annahmen trifft.

Schritt 2: Streaming und Next.js Route Handler

Das Hauptfeature des Vercel AI SDK ist das Streaming der Antworten. Die streamText-Funktion beginnt sofort mit dem Streamen der Tokens, und der Helfer toUIMessageStreamResponse() gibt den fertigen Stream direkt aus dem Route Handler im Next.js App Router aus.

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

// Streamen für bis zu 30 Sekunden erlauben
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: 'Du bist ein hilfreicher Assistent. Antworte kurz und präzise.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Ausgabelimit über das Gateway
  });

  return result.toUIMessageStreamResponse();
}

Verbinden Sie auf dem Client den useChat-Hook aus @ai-sdk/react – er greift eigenständig auf /api/chat zu und rendert den Nachrichtenstrom. Das Backend greift dabei auf Gonka zu, nicht auf OpenAI.

Skript ohne UI (Node, async-Iterator über den 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: 'Schreibe ein Haiku über verteiltes Rechnen',
});

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

Modellparameter. Über das Gateway sind zwei Modelle verfügbar, beide mit einem Kontext von 200K Tokens; das Antwortlimit (maxOutputTokens) liegt bei beiden bei bis zu 8192:

Wenn maxOutputTokens nicht festgelegt ist, gibt das Gateway für Nicht-Stream-Anfragen standardmäßig bis zu 1500 Tokens zurück – bei Streaming-Chats empfiehlt es sich, den Wert explizit anzugeben.

Kostenvergleich

Das Vercel AI SDK steht normalerweise hinter einer interaktiven Schnittstelle — Chat, Agent, Assistent in der Anwendung. Jede Nachricht zieht die Dialoghistorie mit sich und jeder Schritt des Agenten den Werkzeugkontext. Daher werden die tatsächlichen Kosten nicht pro Anfrage, sondern nach der Last in der Produktion berechnet. Vergleichen wir typische Szenarien:

SzenarioTokenAnthropic / OpenAIJoinGonka Gonka
Eine Nachricht im Chat~3K$0.01 — $0.05$0.000014
Dialog mit 20 Beiträgen~150K$0.50 — $2.25$0.00072
RAG-Antwort (Suche + Generierung)~5K$0.015 — $0.05$0.000024
Agentenschritt mit Tool Calling~10K$0.03 — $0.10$0.000048
10 000 Anfragen pro Tag (Prod)~50M$150 — $500$0.24

Der Preis von JoinGonka liegt bei etwa $0.003 pro 1M Token im Input, der Output ist etwa dreimal so teuer. Für eine Anwendung mit tausenden Anfragen pro Tag ist das der Unterschied zwischen einer Rechnung über hunderte Dollar und Kosten im Cent-Bereich. Die kostenlosen 10M Token reichen aus, um ein Projekt vollständig durchzuspielen und zu debuggen, bevor es in die Produktion geht.

Tool-Aufruf und Agenten

Das Vercel AI SDK beschreibt Tools deklarativ über ein tools-Objekt und ein zod-Schema. Kimi K2.6 unterstützt natives Function Calling, daher empfängt das AI SDK strukturierte tool_calls ohne Textantworten zu parsen. Der Parameter stopWhen: stepCountIs(n) ermöglicht mehrere Schritte hintereinander — das Modell ruft ein Tool auf, erhält ein Ergebnis und macht weiter.

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: 'Das Wetter in einer Stadt abrufen',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'Wie ist das Wetter in Moskau? Antworte in einem Satz.',
});

console.log(text);

Das Modell ruft das Tool weather auf, erhält das Ergebnis und generiert die finale Antwort. Der gesamte Zyklus kostet etwa $0.000048 über Gonka im Vergleich zu $0.03-0.10 bei Anthropic oder OpenAI. Für Agenten-Anwendungen, bei denen jede Benutzeranfrage in 5-10 Schritte expandiert wird, werden die Einsparungen in der Produktion in Tausenden von Dollar pro Monat gemessen.

Wenn Sie eine KI-Anwendung mit Python bauen, schauen Sie sich den Leitfaden zu LangChain an — dort wird der gleiche Ansatz über eine OpenAI-kompatible Klasse verfolgt.

Vercel AI SDK + Gonka = produktionsreife KI-Anwendungen mit TypeScript zum Spottpreis. createOpenAICompatible verbindet das Gateway ohne Forks, generateText und streamText funktionieren wie gewohnt, natives Tool Calling und Next.js Route Handler — alles für $0.003/1M Token statt $2.5-15 bei OpenAI und Anthropic.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

10 Mio. kostenlose Token erhalten →