Secciones de la base de conocimientos ▾

Navegación

▸ Empiece aquí Por roles

Categorías

Herramientas 54
Glosario 12

Herramientas

Vercel AI SDK + Gonka AI — Aplicaciones de IA en TypeScript por centavos

Vercel AI SDK es el SDK más popular para crear aplicaciones de IA en TypeScript y JavaScript. API unificada generateText y streamText, transmisión a la interfaz de usuario, tool calling nativo, helpers listos para usar para Next.js App Router: todo lo necesario para chatbots, agentes y pipelines de RAG en la web.

El problema es el mismo que con cualquier aplicación de LLM: el costo del proveedor. La interfaz de chat con streaming envía el historial del diálogo en cada mensaje, el agente mueve contexto a través de decenas de pasos. Con los precios de Anthropic ($3-15/1M) y OpenAI ($2.5-10/1M), incluso un pequeño proyecto personal en producción se convierte en una factura de cientos de dólares al mes.

JoinGonka Gateway — un endpoint compatible con OpenAI sobre la red descentralizada Gonka. Vercel AI SDK se conecta como a cualquier proveedor compatible con OpenAI — sin forks, sin adaptadores propios. Los mismos modelos abiertos que en los hosters comerciales — MiniMax M2.7, DeepSeek V4 Flash y GLM-5.3 Flash —, el mismo streamText, pero a $0.0062/1M de tokens de entrada — decenas de veces más barato.

Paso 1: Obtener la clave y conectar el proveedor

Clave de API de JoinGonka: regístrate en gate.joingonka.ai/register — al empezar te damos 3M tokens gratis. En el Dashboard crea una clave con el prefijo jg-.

Instalación de paquetes. Para un endpoint personalizado compatible con OpenAI, el SDK de Vercel AI recomienda el proveedor @ai-sdk/openai-compatible:

npm install ai @ai-sdk/openai-compatible

Conexión mínima — creamos una instancia del proveedor con createOpenAICompatible y llamamos a 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-your-key
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Explain what a decentralized inference network is',
});

console.log(text);

El parámetro apiKey añade automáticamente la cabecera Authorization: Bearer jg-your-key — no hace falta configurar nada más. Guarda la clave en la variable de entorno GONKA_API_KEY (por ejemplo, en .env.local) y no en el código.

Alternativa — el paquete @ai-sdk/openai con la fábrica createOpenAI({ baseURL, apiKey }). Ambos métodos funcionan; para endpoints que no son de OpenAI, la documentación del AI SDK recomienda precisamente @ai-sdk/openai-compatible — no arrastra suposiciones específicas de OpenAI innecesarias.

Paso 2: Streaming y Next.js route handler

La característica estrella del SDK de Vercel AI es la entrega del respuesta en streaming. La función streamText empieza a transmitir tokens de inmediato, y el helper toUIMessageStreamResponse() entrega el stream ya listo directamente desde el route handler en Next.js App Router.

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

// allow streaming for up to 30 seconds
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: 'You are a helpful assistant. Answer briefly and to the point.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Gateway output cap
  });

  return result.toUIMessageStreamResponse();
}

En el cliente, conecta el hook useChat de @ai-sdk/react — él mismo se comunica con /api/chat y renderiza el stream de mensajes. El backend, por su parte, se conecta a Gonka, no a OpenAI.

Script sin UI (Node, iterador async sobre el 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: 'Write a haiku about distributed computing',
});

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

Parámetros de los modelos. A través del Gateway están disponibles tres modelos: contexto de 180K tokens en MiniMax M2.7, 380K en DeepSeek V4 Flash y 390K en GLM-5.3 Flash; el techo de respuesta (maxOutputTokens) es de 8192 en MiniMax M2.7 y GLM-5.3 Flash, 32768 en DeepSeek V4 Flash:

  • MiniMaxAI/MiniMax-M2.7 — predeterminado (MiniMax M2.7);
  • deepseek-ai/DeepSeek-V4-Flash-0731 (DeepSeek V4 Flash, contexto 380K);
  • zai-org/GLM-5.3-Flash (GLM-5.3 Flash, modelo de razonamiento — razona antes de responder).

Si no se especifica maxOutputTokens, para una solicitud non-stream el Gateway devolverá por defecto hasta 1500 tokens — para chats en streaming es mejor indicar el valor de forma explícita.

Comparación de costes

Vercel AI SDK generalmente se encuentra detrás de una interfaz interactiva — chat, agente, asistente en la aplicación. Cada mensaje arrastra el historial de la conversación, cada paso del agente — el contexto de herramientas. Por lo tanto, el costo real no se calcula por solicitud única, sino por la carga de producción. Comparemos escenarios típicos:

EscenarioTokensAnthropic / OpenAIJoinGonka Gonka
Un mensaje en chat~3K$0.01 — $0.05$0.000028
Diálogo de 20 réplicas~150K$0.50 — $2.25$0.0014
Respuesta RAG (búsqueda + generación)~5K$0.015 — $0.05$0.000048
Paso de agente con tool calling~10K$0.03 — $0.10$0.000096
10 000 solicitudes al día (prod)~50M$150 — $500$0.48

El precio de JoinGonka es de aproximadamente $0.0062 por 1M de tokens de entrada, la salida es aproximadamente tres veces más cara. Para una aplicación con miles de solicitudes al día, esta es la diferencia entre una factura de cientos de dólares y una de centavos. Los 3M de tokens gratuitos son suficientes para realizar las primeras solicitudes del proyecto.

Tool calling y agentes

El SDK de Vercel AI define las herramientas de forma declarativa mediante el objeto tools y el esquema zod. Los modelos de la red admiten function calling nativo, así que el AI SDK recibe tool_calls estructurados sin necesidad de parsear las respuestas de texto. El parámetro stopWhen: stepCountIs(n) permite varios pasos consecutivos: el modelo llama a una herramienta, recibe el resultado y continúa.

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: 'Get the weather in a city',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'What is the weather in Moscow? Answer in one sentence.',
});

console.log(text);

El modelo llama a la herramienta weather, recibe el resultado y genera la respuesta final. Todo el ciclo cuesta alrededor de $0.000048 a través de Gonka frente a $0.03-0.10 de Anthropic u OpenAI. En aplicaciones agénticas, donde cada consulta del usuario se despliega en 5-10 pasos, el ahorro en producción se mide en miles de dólares al mes.

Si estás construyendo una aplicación de IA en Python, echa un vistazo a la guía de LangChain: allí encontrarás el mismo enfoque con la clase compatible con OpenAI.

Vercel AI SDK + Gonka = aplicaciones de IA en TypeScript listas para producción a un precio mínimo. createOpenAICompatible conecta el Gateway sin forks, generateText y streamText funcionan como siempre, tool calling nativo y route handlers de Next.js — todo por $0.0062/1M tokens en lugar de los $2.5-15 de OpenAI y Anthropic.

¿Quieres saber más?

Explora otras secciones o empieza a ganar GNK ahora mismo.

Obtener tokens gratuitos →