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

বিনিয়োগকারীদের জন্য

সরঞ্জাম

সরঞ্জাম

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

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

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

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

ধাপ 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 এবং মডেলগুলির একটি তালিকা সেট করেন, তারপর প্রতিটি কলের জন্য একটি মডেল নির্বাচন করেন। আমাদের গেটওয়ে চ্যাট কমপ্লিশন ফরম্যাটে কথা বলে, তাই আমরা 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: [
    'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8', // ডিফল্ট
    'moonshotai/Kimi-K2.6',
    'MiniMaxAI/MiniMax-M2.7',
  ],
})

সার্ভারে স্ট্রিমিং-চ্যাট (উদাহরণস্বরূপ, যেকোনো ফুলস্ট্যাক-ফ্রেমওয়ার্কে রুট-হ্যান্ডলার বা TanStack স্টার্ট)। আমরা 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('Qwen/Qwen3-235B-A22B-Instruct-2507-FP8'),
    messages,
    modelOptions: { max_tokens: 8192 }, // গেটওয়ের মাধ্যমে Qwen এর সীমা
  })

  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 এর সাথে সংযোগ সব বিকল্পের জন্য একই রকম।

গেটওয়ের মাধ্যমে মডেল প্যারামিটার: তিনটি মডেলের সকলের জন্য প্রসঙ্গ - 128K টোকেন। max_tokens এর সীমা: Qwen3-235B - 8192, Kimi K2.6 - 3072, MiniMax-M2.7 - 4096। যদি max_tokens নির্দিষ্ট না করা হয়, নন-স্ট্রিমের জন্য ডিফল্ট - 1500, তাই দীর্ঘ উত্তরগুলির জন্য এটি স্পষ্টভাবে সেট করুন।

খরচের তুলনা

TanStack AI OpenAI/Anthropic এর সরাসরি ট্যারিফ এবং Gonka উভয়ের মাধ্যমেই সমানভাবে সুবিধাজনকভাবে কাজ করে — কেবল baseURL পরিবর্তিত হয়। কিন্তু দামের পার্থক্য অনেক বেশি। TanStack AI-তে একটি প্রোডাকশন অ্যাপ্লিকেশনের সাধারণ লোড তুলনা করি:

দৃশ্যকল্পটোকেনOpenAI / AnthropicJoinGonka Gonka
একটি স্ট্রিমিং চ্যাট প্রতিক্রিয়া~3K$0.008 — $0.045$0.000004
টুল কলিং সহ এজেন্ট চক্র~15K$0.04 — $0.22$0.00002
প্রতিদিন 1,000 ডায়ালগ~3M$7.50 — $45$0.003
এক মাসের উৎপাদন (~100M)~100M$250 — $1,500$0.10

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

গঙ্কার দাম: ইনপুট ~$0.0005 প্রতি 1M টোকেন, আউটপুট ×3। এটি OpenAI এবং Anthropic এর সরাসরি ট্যারিফের চেয়ে শত-হাজার গুণ সস্তা।

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

TanStack AI এর প্রধান বৈশিষ্ট্য হল একীভূত toolDefinition() চুক্তি: একটি টুল একবার বর্ণিত হয় (Zod, ArkType, Valibot বা JSON Schema এর মাধ্যমে ইনপুট/আউটপুট), এবং বাস্তবায়ন সার্ভার বা ক্লায়েন্টে আবদ্ধ হয়। Qwen3-235B, Kimi K2.6 এবং MiniMax-M2.7 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('Qwen/Qwen3-235B-A22B-Instruct-2507-FP8'),
  messages: [{ role: 'user', content: 'Какая погода в Москве?' }],
  tools: [getWeather],
  modelOptions: { max_tokens: 8192 },
})

কোন মডেলটি নির্বাচন করবেন:

  • Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 – ডিফল্ট। সবচেয়ে বড় প্রতিক্রিয়া সীমা (8192) এবং শক্তিশালী টুল কলিং। এজেন্ট এবং কাঠামোগত আউটপুটের জন্য উপযুক্ত।
  • moonshotai/Kimi-K2.6 – দীর্ঘ কথোপকথন এবং যুক্তির জন্য চমৎকার। প্রতিক্রিয়া সীমা 3072।
  • MiniMaxAI/MiniMax-M2.7 – গতি এবং মানের ভারসাম্য, সীমা 4096।

TanStack AI তে রানটাইম অ্যাডাপ্টার স্যুইচিংয়ের কারণে, তিনটি মডেলই একক প্রদানকারীতে রাখা যেতে পারে এবং ফ্লাইতে তাদের মধ্যে স্যুইচ করা যেতে পারে – উদাহরণস্বরূপ, Qwen এ ভারী এজেন্ট কাজ, MiniMax এ দ্রুত প্রতিক্রিয়া।

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

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

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

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