ज्ञानकोश अनुभाग ▾

नेविगेशन

▸ यहाँ से शुरू करें भूमिका के अनुसार

श्रेणियाँ

उपकरण 37
शब्दावली 12

उपकरण

टैनस्टैक AI + गोंका - बहुत कम लागत पर टाइपस्क्रिप्ट पर AI-अनुप्रयोग

TanStack AI (@tanstack/ai) — TanStack टीम (Query, Router, Table के निर्माता) द्वारा TypeScript के लिए टाइप-सेफ SDK है। Provider-agnostic आर्किटेक्चर: स्ट्रीमिंग चैट, नेटिव tool calling, एजेंट्स, स्ट्रक्चर्ड आउटपुट और एडाप्टर के एक सेट के माध्यम से मल्टी-मोडैलिटी। React, Vue, Svelte, Solid और Preact के लिए रेडी-मेड बाइंडिंग (useChat और अन्य हुक्स) और सर्वर के लिए headless-client मौजूद है।

समस्या किसी भी AI-फ्रेमवर्क की तरह इन्फरेंस की कीमत है। TanStack AI आउट-ऑफ-द-बॉक्स OpenAI, Anthropic और Gemini को सपोर्ट करता है, लेकिन इन प्रदाताओं की सीधी दरें ($2.50–15 प्रति 1M टोकन) प्रोडक्शन-चैट और एजेंट्स को महंगा बनाती हैं: स्ट्रीमिंग-डायलाग और टूल-साइकिल तेजी से लाखों टोकन खत्म कर देते हैं।

TanStack AI की मुख्य विशेषता — openaiCompatible() फ़ंक्शन: किसी भी OpenAI-संगत एंडपॉइंट को जोड़ने का एक बेहतरीन तरीका। इसका मतलब है कि JoinGonka Gateway बिना कस्टम एडाप्टर के इंटीग्रेट हो जाता है — बस baseURL, की (key) और मॉडल की लिस्ट दें। परिणाम: वही टाइप-सेफ चैट और एजेंट्स, लेकिन OpenAI के $2.50–15 के बजाय डिसेंट्रलाइज्ड Gonka नेटवर्क के माध्यम से $0.0069/1M टोकन पर।

चरण 1: टैनस्टैक AI स्थापित करें और कुंजी प्राप्त करें

पैकेज इंस्टॉलेशन (कोर + OpenAI-एडेप्टर, जिसमें openaiCompatible मौजूद है):

# pnpm
pnpm add @tanstack/ai @tanstack/ai-openai

# npm
npm install @tanstack/ai @tanstack/ai-openai

React पर चैट-इंटरफेस के लिए क्लाइंट और हुक जोड़ें:

pnpm add @tanstack/ai-client @tanstack/ai-react

JoinGonka API-की: यदि आपके पास अभी तक नहीं है — gate.joingonka.ai/register पर रजिस्टर करें, 3M मुफ्त टोकन प्राप्त करें और Dashboard → API Keys में jg-xxx की (key) बनाएं। एक की (key) और एक बैलेंस OpenAI और Anthropic दोनों फॉर्मेट के लिए काम करते हैं।

चरण 2: openaiCompatible के माध्यम से गोंका को कनेक्ट करें

TanStack AI में, कस्टम OpenAI-कम्पैटिबल प्रोवाइडर को openaiCompatible() फ़ंक्शन के साथ कॉन्फ़िगर किया जाता है: एक बार baseURL, apiKey और मॉडल की सूची सेट करें, और फिर प्रत्येक कॉल पर मॉडल चुनें। हमारा गेटवे Chat Completions फॉर्मेट का उपयोग करता है, इसलिए हम api: 'chat-completions' (डिफ़ॉल्ट मान) रखते हैं।

import { openaiCompatible } from '@tanstack/ai-openai'

// Gonka प्रोवाइडर — एक बार कॉन्फ़िगर करें
export const gonka = openaiCompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY!, // jg-आपकी-की
  api: 'chat-completions',
  models: [
    'MiniMaxAI/MiniMax-M2.7', // डिफ़ॉल्ट
    'deepseek-ai/DeepSeek-V4-Flash-0731',
    'zai-org/GLM-5.3-Flash', // रीजनिंग मॉडल
  ],
})

सर्वर पर स्ट्रीमिंग-चैट (उदाहरण के लिए, किसी भी फुलस्टैक फ्रेमवर्क या TanStack Start में रूट-हैंडलर)। उत्तर की लंबाई modelOptions के माध्यम से सेट की जाती है — यह नेटिव वायर पैरामीटर्स (max_tokens, temperature) के लिए एकमात्र स्थान है:

import { chat, toServerSentEventsResponse } from '@tanstack/ai'
import { gonka } from './gonka'

export async function POST(request: Request) {
  const { messages } = await request.json()

  const stream = chat({
    adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
    messages,
    modelOptions: { max_tokens: 8192 }, // गेटवे के माध्यम से आउटपुट सीमा
  })

  return toServerSentEventsResponse(stream)
}

React-क्लाइंट useChat हुक के माध्यम से — सर्वर से UI तक उत्तरों को स्ट्रीम करता है:

import { useChat } from '@tanstack/ai-react'

function Chat() {
  const { messages, sendMessage, status } = useChat({ api: '/api/chat' })

  return (
    <div>
      {messages.map((m) => (
        <p key={m.id}><b>{m.role}:</b> {m.content}</p>
      ))}
      <button onClick={() => sendMessage('Gonka क्या है?')}>
        पूछें
      </button>
    </div>
  )
}

सर्वर के बिना: वही प्रोवाइडर स्क्रिप्ट या बैकएंड में सीधे काम करता है — chat() कॉल करें और स्ट्रीम पढ़ें। Gonka के साथ कनेक्शन सभी विकल्पों के लिए समान है।

गेटवे के माध्यम से मॉडल पैरामीटर्स: कॉन्टेक्स्ट — MiniMax M2.7 के लिए 200K टोकन, DeepSeek V4 Flash के लिए 380K और GLM-5.3 Flash के लिए 390K। max_tokens की सीमा — MiniMax M2.7 और GLM-5.3 Flash के लिए 8192, DeepSeek V4 Flash के लिए 32768। यदि max_tokens निर्दिष्ट नहीं है, तो नॉन-स्ट्रीम के लिए डिफ़ॉल्ट 1500 है, इसलिए लंबे उत्तरों के लिए इसे स्पष्ट रूप से सेट करें।

लागत की तुलना

TanStack AI OpenAI/Anthropic की सीधी दरों और Gonka दोनों के माध्यम से समान रूप से काम करता है — केवल baseURL बदलता है। लेकिन कीमत में बहुत बड़ा अंतर है। TanStack AI पर प्रोडक्शन-एप्लीकेशन के विशिष्ट लोड की तुलना करें:

परिदृश्यटोकनOpenAI / AnthropicJoinGonka Gonka
चैट का एक स्ट्रीमिंग उत्तर~3K$0.008 — $0.045$0.000028
tool calling के साथ एजेंट साइकिल~15K$0.04 — $0.22$0.00014
प्रतिदिन 1,000 संवाद~3M$7.50 — $45$0.028
प्रोडक्शन का महीना (~100M)~100M$250 — $1 500$0.96

TanStack AI का Provider-agnostic दृष्टिकोण का मतलब है कि Gonka पर स्विच करना केवल एक लाइन (baseURL) बदलना है, कोड को फिर से लिखना नहीं। आपके टाइप-सेफ टूल्स, स्ट्रक्चर्ड आउटपुट और React-हुक्स बिना किसी बदलाव के काम करते हैं। हजारों यूजर्स वाली एप्लीकेशन के लिए यह अंतर महीने में हजारों डॉलर का है।

Gonka की कीमत: इनपुट ~$0.0069 प्रति 1M टोकन, आउटपुट ×3। यह OpenAI और Anthropic की सीधी दरों से सैकड़ों-हजारों गुना सस्ता है।

टाइप-सेफ उपकरण और मॉडल चयन

TanStack AI की मुख्य विशेषता एक एकीकृत toolDefinition() कॉन्ट्रैक्ट है: टूल को एक बार परिभाषित किया जाता है (Zod, ArkType, Valibot या JSON Schema के माध्यम से इनपुट/आउटपुट), और कार्यान्वयन सर्वर या क्लाइंट से जुड़ा होता है। MiniMax M2.7, DeepSeek V4 Flash और GLM-5.3 Flash, Gonka के माध्यम से नेटिव टूल कॉलिंग का समर्थन करते हैं, इसलिए एजेंट बिना टेक्स्ट रिस्पॉन्स पार्स किए मज़बूती से काम करते हैं।

import { chat, toolDefinition } from '@tanstack/ai'
import { gonka } from './gonka'
import { z } from 'zod'

const getWeather = toolDefinition({
  name: 'getWeather',
  description: 'शहर का मौसम पता करें',
  inputSchema: z.object({ city: z.string() }),
  outputSchema: z.object({ tempC: z.number() }),
}).server(async ({ city }) => {
  return { tempC: 21 } // आपकी वास्तविक API कॉल
})

const stream = chat({
  adapter: gonka('MiniMaxAI/MiniMax-M2.7'),
  messages: [{ role: 'user', content: 'मास्को का मौसम कैसा है?' }],
  tools: [getWeather],
  modelOptions: { max_tokens: 8192 },
})

कौन सा मॉडल चुनें:

  • MiniMaxAI/MiniMax-M2.7 — डिफ़ॉल्ट, गति और गुणवत्ता का संतुलन, लंबा कॉन्टेक्स्ट। रिस्पॉन्स की सीमा 8192।
  • deepseek-ai/DeepSeek-V4-Flash-0731 — नेटवर्क का सबसे लंबा कॉन्टेक्स्ट (380K), सस्ते बड़े प्रॉम्प्ट। रिस्पॉन्स की सीमा 32768।
  • zai-org/GLM-5.3-Flash — रीजनिंग मॉडल: उत्तर देने से पहले तर्क करता है, जटिल तर्क में मजबूत; नेटवर्क का सबसे लंबा कॉन्टेक्स्ट (390K)। रिस्पॉन्स की सीमा 8192; रीजनिंग max_tokens का हिस्सा खर्च करती है।

TanStack AI में runtime adapter switching के कारण, आप तीनों मॉडलों को एक ही प्रोवाइडर में रख सकते हैं और तुरंत उनके बीच स्विच कर सकते हैं — उदाहरण के लिए, GLM-5.3 Flash पर रीजनिंग वाले कार्य और MiniMax पर तेज़ उत्तर।

TanStack AI + Gonka = TypeScript पर कोडिंग-सेफ AI-एप्लिकेशन बहुत कम लागत में। openaiCompatible के माध्यम से कनेक्शन — बस एक baseURL बदलाव, और स्ट्रीमिंग-चैट, एजेंट और टूल्स $2.50–15 (OpenAI) के बजाय $0.0069/1M टोकन में काम करते हैं। शुरुआती टोकन बिना कार्ड के परीक्षण की अनुमति देते हैं।

अधिक जानना चाहते हैं?

अन्य अनुभागों का अन्वेषण करें या अभी GNK कमाना शुरू करें।

मुफ्त टोकन प्राप्त करें →