জ্ঞানকোষের বিভাগসমূহ ▾

নেভিগেশন

▸ এখানে শুরু করুন রোল অনুযায়ী

বিভাগ

সরঞ্জাম 37
গ্লসারি 12

সরঞ্জাম

TanStack AI + Gonka — টাইপস্ক্রিপ্ট এআই অ্যাপ্লিকেশন নগণ্য খরচে

TanStack AI (@tanstack/ai) — TanStack টিমের (Query, Router, Table-এর নির্মাতা) পক্ষ থেকে TypeScript-এর জন্য একটি টাইপ-সেফ SDK। Provider-agnostic আর্কিটেকচার: স্ট্রিমিং চ্যাট, নেটিভ tool calling, এজেন্ট, স্ট্রাকচারড আউটপুট এবং একটি একক অ্যাডাপ্টার সেটের মাধ্যমে মাল্টিমোডালিটি। React, Vue, Svelte, Solid এবং Preact (useChat এবং অন্যান্য হুক) এর জন্য রেডিমেড বাইন্ডিং এবং সার্ভারের জন্য হেডলেস ক্লায়েন্ট।

যেকোনো AI-ফ্রেমওয়ার্কের মতো এখানেও সমস্যা একই — ইনফারেন্সের খরচ। TanStack AI ডিফল্টভাবে OpenAI, Anthropic এবং Gemini সমর্থন করে, কিন্তু এই প্রোভাইডারদের সরাসরি রেট ($2.50–15 প্রতি 1M টোকেন) প্রোডাকশন চ্যাট এবং এজেন্টদের ব্যয়বহুল করে তোলে: স্ট্রিমিং সংলাপ এবং টুল-সাইকেল দ্রুত মিলিয়ন মিলিয়ন টোকেন খরচ করে ফেলে।

TanStack AI-এর প্রধান বৈশিষ্ট্য — openaiCompatible() ফাংশন: যেকোনো OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট সংযুক্ত করার সেরা উপায়। এর অর্থ হলো JoinGonka Gateway কোনো কাস্টম অ্যাডাপ্টার ছাড়াই ইন্টিগ্রেট হয় — শুধু baseURL, কী এবং মডেলের তালিকা দিন। ফলাফল: একই টাইপ-সেফ চ্যাট এবং এজেন্ট, কিন্তু OpenAI-এর $2.50–15-এর পরিবর্তে বিকেন্দ্রীভূত Gonka নেটওয়ার্কের মাধ্যমে প্রতি 1M টোকেনে মাত্র $0.0069 খরচ।

ধাপ 1: TanStack 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-key: যদি এখনো না থাকে — gate.joingonka.ai/register-এ রেজিস্টার করুন, 3M ফ্রি টোকেন পান এবং Dashboard → API Keys-এ jg-xxx কি (key) তৈরি করুন। একটি কি এবং ব্যালেন্স OpenAI এবং Anthropic উভয় ফরম্যাটের জন্যই কাজ করে।

ধাপ 2: openaiCompatible এর মাধ্যমে Gonka সংযুক্ত করুন

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: [
    '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 }, // 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-এর মাধ্যমে মডেল প্যারামিটার: MiniMax M2.7-এর ক্ষেত্রে ২০০K টোকেন কনটেক্সট, DeepSeek V4 Flash-এর ক্ষেত্রে ৩৮০K এবং GLM-5.3 Flash-এর ক্ষেত্রে ৩৯০K। max_tokens লিমিট — MiniMax M2.7 এবং GLM-5.3 Flash-এর জন্য ৮১৯২, DeepSeek V4 Flash-এর জন্য ৩২৭৬৮। যদি max_tokens উল্লেখ না থাকে, তবে নন-স্ট্রিমের জন্য ডিফল্ট ১৫০০, তাই দীর্ঘ উত্তরের ক্ষেত্রে এটি স্পষ্টভাবে সেট করুন।

খরচের তুলনা

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
দিনে ১,০০০ কথোপকথন~3M$7.50 — $45$0.028
মাসে প্রোডাকশন (~100M)~100M$250 — $1 500$0.96

TanStack AI-এর provider-agnostic পদ্ধতি মানে Gonka-তে স্যুইচ করা কোড পুনরায় লেখা নয়, বরং একটি লাইন (baseURL) পরিবর্তন করা। একই সাথে আপনার টাইপ-সেফ টুলস, স্ট্রাকচারড আউটপুট এবং React-হুক অপরিবর্তিত থাকে। হাজার হাজার ব্যবহারকারীর অ্যাপ্লিকেশনের জন্য এটি মাসে কয়েক হাজার ডলার বাঁচায়।

Gonka-এর মূল্য: ইনপুটে প্রতি 1M টোকেনে প্রায় $0.0069, আউটপুটে ×৩। এটি 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-তে রানটাইম অ্যাডাপ্টার সুইচিং-এর মাধ্যমে আপনি একটি প্রোভাইডারেই তিনটি মডেল রাখতে পারেন এবং তাৎক্ষণিকভাবে সুইচ করতে পারেন—যেমন, রিজনিং কাজের জন্য GLM-5.3 Flash এবং দ্রুত উত্তরের জন্য MiniMax ব্যবহার করা যায়।

TanStack AI + Gonka = টাইপ-সেফ TypeScript AI অ্যাপ্লিকেশন নামমাত্র খরচে। openaiCompatible-এর মাধ্যমে কানেক্ট করুন — শুধু baseURL পরিবর্তন করলেই যথেষ্ট, এবং স্ট্রিমিং চ্যাট, এজেন্ট এবং টুলস OpenAI-এর $2.50–15 এর পরিবর্তে মাত্র $0.0069/1M টোকেনে কাজ করবে। স্টার্টআপ টোকেনগুলো কার্ড ছাড়াই ট্রাই করার সুযোগ দেয়।

আরও জানতে চান?

অন্যান্য বিভাগগুলি অন্বেষণ করুন অথবা এখনই GNK উপার্জন শুরু করুন।

ফ্রি টোকেন পান →