Secciones de la base de conocimientos ▾

Navegación

▸ Empiece aquí Por roles

Categorías

Herramientas 37
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.0069/1M de tokens de entrada — decenas de veces más barato.

Paso 1: Obtener la clave y conectar el proveedor

API-key de JoinGonka: regístrese en gate.joingonka.ai/register — al inicio le otorgamos 3M de tokens gratuitos. En el Dashboard, cree una clave con el prefijo jg-.

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

npm install ai @ai-sdk/openai-compatible

Conexión mínima — creamos una instancia del proveedor a través de createOpenAICompatible e invocamos 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-su-clave
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Explica qué es una red de inferencia descentralizada',
});

console.log(text);

El parámetro apiKey añade automáticamente la cabecera Authorization: Bearer jg-su-clave — no se requiere configuración adicional. Guarde 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 factoría createOpenAI({ baseURL, apiKey }). Ambos métodos funcionan; para endpoints que no pertenecen a OpenAI, la documentación de AI SDK aconseja específicamente @ai-sdk/openai-compatible — ya que no incluye suposiciones innecesarias específicas de OpenAI.

Paso 2: Streaming y Next.js route handler

La característica principal de Vercel AI SDK es la respuesta en streaming. La función streamText comienza a transmitir tokens inmediatamente, y el ayudante toUIMessageStreamResponse() entrega el flujo listo directamente desde un route handler en Next.js App Router.

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

// permitimos streaming de hasta 30 segundos
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: 'Eres un asistente útil. Responde de forma breve y concisa.',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // límite de salida a través del Gateway
  });

  return result.toUIMessageStreamResponse();
}

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

Script sin UI (Node, async-iterator a través del 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: 'Escribe un haiku sobre computación distribuida',
});

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 200K tokens para MiniMax M2.7, 380K para DeepSeek V4 Flash y 390K para GLM-5.3 Flash; el límite de respuesta (maxOutputTokens) es de 8192 para MiniMax M2.7 y GLM-5.3 Flash, y 32768 para 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 — piensa antes de responder).

Si no se especifica maxOutputTokens, para solicitudes non-stream el Gateway devolverá por defecto hasta 1500 tokens; para chats con streaming es mejor indicar el valor explícitamente.

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

Vercel AI SDK describe las herramientas de forma declarativa mediante el objeto tools y el esquema zod. Los modelos de la red soportan function calling nativo, por lo que AI SDK recibe tool_calls estructurados sin analizar respuestas de texto. El parámetro stopWhen: stepCountIs(n) permite varios pasos consecutivos: el modelo llama a la 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: 'Saber el clima en la ciudad',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: '¿Qué clima hace en Moscú? Responde en una oración.',
});

console.log(text);

El modelo llama a la herramienta weather, recibe el resultado y forma la respuesta final. Todo el ciclo cuesta alrededor de $0.000048 a través de Gonka frente a $0.03-0.10 en Anthropic u OpenAI. Para aplicaciones de agentes, donde cada solicitud de 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 con Python, consulta la guía de LangChain: allí se utiliza el mismo enfoque a través de una 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.0069/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 →