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

नेविगेशन

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

श्रेणियाँ

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

उपकरण

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

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

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

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

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

पैकेजों की स्थापना (कोर + OpenAI-एडाप्टर, जिसमें openaiCompatible रहता है):

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

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

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

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

जॉइनगोंका API कुंजी: यदि अभी तक नहीं है - gate.joingonka.ai/register पर पंजीकरण करें, 10M मुफ्त टोकन प्राप्त करें और डैशबोर्ड → API कुंजियां में jg-xxx कुंजी बनाएं। एक कुंजी और एक शेष राशि OpenAI- और एंथ्रोपिक-फ़ॉर्मेट दोनों के लिए काम करती है।

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

TanStack AI में एक कस्टम OpenAI-अनुकूल प्रोवाइडर openaiCompatible() फ़ंक्शन द्वारा कॉन्फ़िगर किया जाता है: baseURL, apiKey और मॉडलों की सूची एक बार सेट करें, और फिर हर कॉल पर मॉडल चुनें। हमारा Gateway 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: [
    'moonshotai/Kimi-K2.6', // डिफ़ॉल्ट
    'MiniMaxAI/MiniMax-M2.7',
  ],
})

सर्वर पर स्ट्रीमिंग चैट (उदाहरण के लिए, किसी भी fullstack-फ्रेमवर्क में route-हैंडलर या TanStack Start)। रिस्पॉन्स की लंबाई हम modelOptions के माध्यम से सेट करते हैं — यह नेटिव wire-पैरामीटर्स (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 }, // Gateway के माध्यम से आउटपुट लिमिट
  })

  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 का कनेक्शन सभी विकल्पों के लिए समान है।

Gateway के माध्यम से मॉडल पैरामीटर्स: दोनों मॉडलों का कॉन्टेक्स्ट 200K टोकन है। नेटवर्क के सभी मॉडलों के लिए max_tokens की लिमिट 8192 है। यदि max_tokens निर्दिष्ट नहीं है, तो non-stream के लिए डिफ़ॉल्ट 1500 है, इसलिए लंबे उत्तरों के लिए इसे स्पष्ट रूप से सेट करें।

लागत की तुलना

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

परिदृश्यटोकनOpenAI / AnthropicJoinGonka Gonka
एक चैट स्ट्रीमिंग-उत्तर~3K$0.008 — $0.045$0.000014
tool calling के साथ एजेंट चक्र~15K$0.04 — $0.22$0.000072
प्रति दिन 1 000 डायलॉग~3M$7.50 — $45$0.014
production का एक महीना (~100M)~100M$250 — $1 500$0.48

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

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

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

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

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

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

  • moonshotai/Kimi-K2.6 — कोडिंग, तर्क और एजेंट परिदृश्यों में शक्तिशाली। उत्तर की लिमिट 8192।
  • MiniMaxAI/MiniMax-M2.7 — डिफ़ॉल्ट, गति और गुणवत्ता का संतुलन, लंबा कॉन्टेक्स्ट। उत्तर की लिमिट 8192।

TanStack AI में runtime adapter switching की बदौलत आप दोनों मॉडलों को एक ही प्रोवाइडर में रख सकते हैं और फ्लाई पर उनके बीच स्विच कर सकते हैं — उदाहरण के लिए, भारी एजेंट कार्यों के लिए Kimi का उपयोग करें और तेज़ उत्तरों के लिए MiniMax का।

TanStack AI + Gonka = TypeScript पर टाइप-सेफ AI-एप्लिकेशन कम लागत में। openaiCompatible के माध्यम से कनेक्शन — एक baseURL बदलाव, और स्ट्रीमिंग-चैट, एजेंट और tools OpenAI पर $2.50–15 के बजाय $0.003/1M टोकन पर काम करते हैं। 10M मुफ्त टोकन हजारों संवादों के लिए पर्याप्त हैं।

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

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

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