Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 37
Glossar 12

Werkzeuge

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

Vercel AI SDK ist das beliebteste SDK zur Erstellung von KI-Anwendungen in TypeScript und JavaScript. Eine einheitliche API für generateText und streamText, Streaming-Ausgabe im 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 dasselbe wie bei jeder LLM-Anwendung – die Kosten des Anbieters. Das Streaming-Chat-Interface sendet die Dialoghistorie bei jeder Nachricht mit, ein Agent schiebt den Kontext durch dutzende Schritte. Bei den Preisen von Anthropic ($3-15/1M) und OpenAI ($2.5-10/1M) verwandelt sich selbst ein bescheidenes Pet-Projekt in der Produktion in eine Rechnung über Hunderte Dollar pro Monat.

JoinGonka Gateway – ein OpenAI-kompatibler Endpunkt über dem dezentralen Gonka-Netzwerk. Vercel AI SDK verbindet sich damit wie mit jedem anderen OpenAI-kompatiblen Anbieter – ohne Fork, ohne eigene Adapter. Dieselben offenen Modelle wie bei kommerziellen Hostern — MiniMax M2.7, DeepSeek V4 Flash und GLM-5.3 Flash — und dasselbe streamText, aber für $0.0069/1M Tokens Input – zigmal günstiger.

Schritt 1: Schlüssel erhalten und Anbieter verbinden

JoinGonka API-Schlüssel: Registrieren Sie sich auf gate.joingonka.ai/register — zum Start schenken wir Ihnen 3M kostenlose Token. Erstellen Sie im Dashboard einen Schlüssel mit dem Präfix jg-.

Installation der Pakete. Für einen benutzerdefinierten OpenAI-kompatiblen Endpunkt empfiehlt das Vercel AI SDK den Provider @ai-sdk/openai-compatible:

npm install ai @ai-sdk/openai-compatible

Minimale Verbindung — wir erstellen eine Provider-Instanz über 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-schlüssel
});

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

console.log(text);

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

Alternative — das Paket @ai-sdk/openai mit der Factory createOpenAI({ baseURL, apiKey }). Beide Wege funktionieren; für Endpunkte, die nicht von OpenAI stammen, empfiehlt die Dokumentation des AI SDK jedoch @ai-sdk/openai-compatible — es zieht keine unnötigen OpenAI-spezifischen Annahmen nach sich.

Schritt 2: Streaming und Next.js Route Handler

Das Hauptfeature des Vercel AI SDK ist das Streaming der Antworten. Die Funktion streamText beginnt sofort mit dem Streamen von Tokens, und der Helfer toUIMessageStreamResponse() gibt den fertigen Stream direkt aus einem 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,
});

// maximal 30 Sekunden Streaming 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ägnant.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Ausgabe-Limit über Gateway
  });

  return result.toUIMessageStreamResponse();
}

Auf dem Client binden Sie den Hook useChat aus @ai-sdk/react ein – dieser ruft automatisch /api/chat auf 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 verteilte Systeme',
});

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

Modellparameter. Über das Gateway stehen drei Modelle zur Verfügung: 200K Kontext-Token für MiniMax M2.7, 380K für DeepSeek V4 Flash und 390K für GLM-5.3 Flash; das Antwortlimit (maxOutputTokens) beträgt 8192 für MiniMax M2.7 und GLM-5.3 Flash, 32768 für DeepSeek V4 Flash:

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

Kostenvergleich

Das Vercel AI SDK befindet sich normalerweise hinter einem interaktiven Interface — Chat, Agent, Assistent in der Anwendung. Jede Nachricht zieht eine Dialoghistorie nach sich, jeder Agent-Schritt den Tool-Kontext. Daher werden die tatsächlichen Kosten nicht pro Anfrage, sondern nach der Produktionslast berechnet. Vergleichen wir typische Szenarien:

SzenarioTokenAnthropic / OpenAIJoinGonka Gonka
Eine Chat-Nachricht~3K$0.01 — $0.05$0.000028
Dialog mit 20 Beiträgen~150K$0.50 — $2.25$0.0014
RAG-Antwort (Suche + Generierung)~5K$0.015 — $0.05$0.000048
Agent-Schritt mit Tool Calling~10K$0.03 — $0.10$0.000096
10 000 Anfragen pro Tag (Prod)~50M$150 — $500$0.48

Der Preis von JoinGonka liegt bei etwa $0.0069 pro 1M Input-Token, die Ausgabe ist etwa dreimal teurer. Für eine Anwendung mit Tausenden von Anfragen pro Tag ist dies der Unterschied zwischen einer Rechnung über Hunderte von Dollar und einer Rechnung im Cent-Bereich. Die kostenlosen 3M Token reichen aus, um die ersten Projektanfragen durchzuführen.

Tool-Aufruf und Agenten

Vercel AI SDK beschreibt Tools deklarativ über das tools-Objekt und das zod-Schema. Die Modelle im Netzwerk unterstützen natives Function Calling, daher empfängt das AI SDK strukturierte tool_calls ohne Text-Parsing. Der Parameter stopWhen: stepCountIs(n) erlaubt mehrere Schritte hintereinander – das Modell ruft ein Tool auf, erhält das Ergebnis und fährt fort.

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 der 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 weather-Tool auf, erhält das Ergebnis und formuliert die finale Antwort. Der gesamte Zyklus kostet über Gonka etwa $0.000048 gegenüber $0.03-0.10 bei Anthropic oder OpenAI. Für Agentenanwendungen, bei denen jede Nutzeranfrage in 5-10 Schritte zerlegt wird, belaufen sich die Einsparungen in der Produktion auf Tausende Dollar pro Monat.

Wenn Sie eine KI-Anwendung mit Python bauen, werfen Sie einen Blick auf den LangChain-Leitfaden – dort wird derselbe Ansatz über eine OpenAI-kompatible Klasse verfolgt.

Vercel AI SDK + Gonka = production-ready AI-Anwendungen mit TypeScript für Cent-Beträge. createOpenAICompatible verbindet das Gateway ohne Forks, generateText und streamText funktionieren wie gewohnt, natives tool calling und Next.js route handlers — alles für $0.0069/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.

Kostenlose Token erhalten →