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

নেভিগেশন

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

বিভাগ

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

সরঞ্জাম

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

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

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

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

ধাপ 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 কী: যদি এখনও না থাকে - gate.joingonka.ai/register এ নিবন্ধন করুন, 10M বিনামূল্যে টোকেন পান এবং ড্যাশবোর্ড → API কীগুলিতে jg-xxx কী তৈরি করুন। একটি কী এবং একটি ব্যালেন্স 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: [
    'moonshotai/Kimi-K2.6', // ডিফল্ট
    'MiniMaxAI/MiniMax-M2.7',
  ],
})

সার্ভারে Streaming-চ্যাট (উদাহরণস্বরূপ, যেকোনো fullstack-ফ্রেমওয়ার্ক বা 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)
}

useChat হুকের মাধ্যমে React-ক্লায়েন্ট — সার্ভার থেকে 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-তে প্রোডাকশন অ্যাপ্লিকেশনের সাধারণ লোডগুলোর তুলনা করি:

দৃশ্যপটটোকেনOpenAI / AnthropicJoinGonka Gonka
একটি স্ট্রিমিং চ্যাট রেসপন্স~3K$0.008 — $0.045$0.000014
টুল কলিং সহ এজেন্ট সাইকেল~15K$0.04 — $0.22$0.000072
দিনে ১,০০০ ডায়ালগ~3M$7.50 — $45$0.014
প্রোডাকশন মাস (~100M)~100M$250 — $1,500$0.48

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

Gonka-এর মূল্য: ১ মিলিয়ন টোকেনের জন্য ~$0.003, আউটপুট ×৩। এটি OpenAI এবং Anthropic-এর সরাসরি রেটের তুলনায় শতগুণ থেকে হাজারগুণ সস্তা।

টাইপ-সেফ টুলস এবং মডেল নির্বাচন

TanStack AI-এর প্রধান বৈশিষ্ট্য হলো একটি ইউনিফাইড toolDefinition() কন্ট্রাক্ট: টুলটি একবার ডিসক্রাইব করুন (Zod, ArkType, Valibot বা JSON Schema-এর মাধ্যমে ইনপুট/আউটপুট), এবং ইমপ্লিমেন্টেশন সার্ভার বা ক্লায়েন্টে বাইন্ড করুন। 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 টোকেনে কাজ করে। ১০ মিলিয়ন ফ্রি টোকেন হাজার হাজার ডায়ালগের জন্য যথেষ্ট।

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

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

10M বিনামূল্যে টোকেন পান →