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

নেভিগেশন

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

বিভাগ

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

সরঞ্জাম

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

Vercel AI SDK — TypeScript এবং JavaScript-এ AI-অ্যাপ্লিকেশন তৈরির জন্য সবচেয়ে জনপ্রিয় SDK। একক API generateText এবং streamText, UI-তে স্ট্রিমিং, নেটিভ tool calling, Next.js App Router-এর জন্য প্রস্তুত হেল্পার — চ্যাটবট, এজেন্ট এবং ওয়েবে RAG-পাইপলাইনের জন্য যা কিছু প্রয়োজন সবই এখানে আছে।

যেকোনো LLM-অ্যাপ্লিকেশনের মতো এখানেও সমস্যা একই — প্রোভাইডারের খরচ। স্ট্রিমিং চ্যাট ইন্টারফেস প্রতিটি মেসেজে কথোপকথনের ইতিহাস পাঠায়, এজেন্ট ডজন ডজন ধাপে কনটেক্সট নিয়ে কাজ করে। Anthropic ($3-15/1M) এবং OpenAI ($2.5-10/1M)-এর মূল্যের কারণে এমনকি একটি ছোট প্রোজেক্টও প্রোডাকশনে মাসে শত শত ডলারের খরচে পরিণত হয়।

JoinGonka Gatewayবিকেন্দ্রীভূত Gonka নেটওয়ার্কের উপরে একটি OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট। Vercel AI SDK এটিকে যেকোনো OpenAI-সামঞ্জস্যপূর্ণ প্রোভাইডারের মতো সংযুক্ত করে — কোনো ফর্ক বা অ্যাডাপ্টার ছাড়াই। একই Kimi K2.6 মডেল, একই streamText, কিন্তু ইনপুট টোকেনে $0.0047/1M — যা কয়েকশ থেকে হাজার গুণ সস্তা।

ধাপ 1: একটি কী পান এবং প্রোভাইডার সংযুক্ত করুন

JoinGonka API-key: gate.joingonka.ai/register-এ রেজিস্টার করুন — শুরুতে আমরা 1.5M ফ্রি টোকেন দিচ্ছি। Dashboard-এ jg- প্রিফিক্স দিয়ে একটি কি (key) তৈরি করুন।

প্যাকেজ ইনস্টলেশন। কাস্টম OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্টের জন্য Vercel AI SDK @ai-sdk/openai-compatible প্রোভাইডার ব্যবহারের পরামর্শ দেয়:

npm install ai @ai-sdk/openai-compatible

মিনিমাল কানেকশনcreateOpenAICompatible এর মাধ্যমে প্রোভাইডার ইনস্ট্যান্স তৈরি করুন এবং generateText কল করুন:

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY, // jg-your-key
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'ডি-সেন্ট্রালাইজড ইনফারেন্স নেটওয়ার্ক কী তা ব্যাখ্যা করো',
});

console.log(text);

apiKey প্যারামিটারটি স্বয়ংক্রিয়ভাবে Authorization: Bearer jg-your-key হেডার যোগ করে — আলাদা কোনো কনফিগারেশনের প্রয়োজন নেই। কি (key) টি কোডে না রেখে এনভায়রনমেন্ট ভেরিয়েবল GONKA_API_KEY-তে (যেমন: .env.local-এ) রাখুন।

বিকল্পcreateOpenAI({ baseURL, apiKey }) ফ্যাক্টরি সহ @ai-sdk/openai প্যাকেজ। দুটি পদ্ধতিই কার্যকর; OpenAI নয় এমন এন্ডপয়েন্টের জন্য, AI SDK ডকুমেন্টেশন @ai-sdk/openai-compatible ব্যবহারের পরামর্শ দেয় — কারণ এটি অপ্রয়োজনীয় OpenAI-নির্দিষ্ট অনুমানগুলো লোড করে না।

ধাপ 2: স্ট্রিমিং এবং Next.js রুট হ্যান্ডলার

Vercel AI SDK-এর মূল বৈশিষ্ট্য হলো স্ট্রিমিং রেসপন্স। streamText ফাংশনটি সাথে সাথে টোকেন স্ট্রিমিং শুরু করে এবং toUIMessageStreamResponse() হেল্পারটি Next.js App Router-এর route handler থেকে সরাসরি রেডিমেড স্ট্রিম প্রদান করে।

সার্ভার হ্যান্ডলার app/api/chat/route.ts:

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText, convertToModelMessages, type UIMessage } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

// ৩০ সেকেন্ড পর্যন্ত স্ট্রিমিং করার অনুমতি দেওয়া হয়েছে
export const maxDuration = 30;

export async function POST(req: Request) {
  const { messages }: { messages: UIMessage[] } = await req.json();

  const result = streamText({
    model: gonka('MiniMaxAI/MiniMax-M2.7'),
    system: 'তুমি একজন দক্ষ সহকারী। সংক্ষেপে এবং প্রাসঙ্গিক উত্তর দাও।',
    messages: convertToModelMessages(messages),
    maxOutputTokens: 8192, // Gateway এর মাধ্যমে আউটপুট লিমিট
  });

  return result.toUIMessageStreamResponse();
}

ক্লায়েন্ট সাইডে @ai-sdk/react থেকে useChat হুকটি কানেক্ট করুন — এটি স্বয়ংক্রিয়ভাবে /api/chat এ কল করে এবং মেসেজের স্ট্রিম রেন্ডার করে। এক্ষেত্রে ব্যাকএন্ড OpenAI এর পরিবর্তে Gonka তে হিট করে।

UI ছাড়া স্ক্রিপ্ট (Node, স্ট্রিমের ওপর async-iterator):

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { streamText } from 'ai';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

const result = streamText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'ডিস্ট্রিবিউটেড কম্পিউটিং নিয়ে একটি হাইকু লেখো',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}

মডেল প্যারামিটার। Gateway এর মাধ্যমে তিনটি মডেল পাওয়া যায়: Kimi K2.6 এবং MiniMax M2.7 এর জন্য ২০০K টোকেন কনটেক্সট এবং DeepSeek V4 Flash এর জন্য ৩৮০K; প্রতিটি মডেলের আউটপুট লিমিট (maxOutputTokens) — ৮১৯২ পর্যন্ত:

  • moonshotai/Kimi-K2.6 — ডিফল্ট (Kimi K2.6);
  • MiniMaxAI/MiniMax-M2.7 (MiniMax M2.7)।
  • deepseek-ai/DeepSeek-V4-Flash-0731 (DeepSeek V4 Flash, কনটেক্সট ৩৮০K)।

যদি maxOutputTokens নির্ধারণ করা না থাকে, তবে নন-স্ট্রিম রিকোয়েস্টের জন্য Gateway ডিফল্টভাবে ১৫০০ টোকেন পর্যন্ত রিটার্ন করবে — স্ট্রিমিং চ্যাটের জন্য ভ্যালুটি স্পষ্টভাবে উল্লেখ করা ভালো।

খরচের তুলনা

Vercel AI SDK সাধারণত একটি ইন্টারঅ্যাকটিভ ইন্টারফেসের পেছনে থাকে — যেমন চ্যাট, এজেন্ট বা অ্যাপ্লিকেশন অ্যাসিস্ট্যান্ট। প্রতিটি বার্তা ডায়ালগের ইতিহাস টেনে আনে এবং প্রতিটি এজেন্ট পদক্ষেপ টুল কনটেক্সট ব্যবহার করে। তাই প্রকৃত খরচ একটি মাত্র রিকোয়েস্ট অনুযায়ী হিসাব করা হয় না, বরং প্রোডাকশন লোড অনুযায়ী হয়। কিছু সাধারণ দৃশ্যকল্পের তুলনা করি:

দৃশ্যকল্পটোকেনAnthropic / OpenAIJoinGonka Gonka
চ্যাটে একটি মেসেজ~3K$0.01 — $0.05$0.000028
২০টি মেসেজের ডায়ালগ~150K$0.50 — $2.25$0.0014
RAG-উত্তর (সার্চ + জেনারেশন)~5K$0.015 — $0.05$0.000048
টুল কলিং সহ এজেন্ট স্টেপ~10K$0.03 — $0.10$0.000096
দিনে ১০,০০০ রিকোয়েস্ট (প্রোড)~50M$150 — $500$0.48

JoinGonka-এর দাম প্রতি 1M ইনপুট টোকেনের জন্য প্রায় $0.0047, আউটপুট সাধারণত তিনগুণ বেশি। প্রতিদিন হাজার হাজার রিকোয়েস্ট থাকা অ্যাপ্লিকেশনের ক্ষেত্রে এটি শত শত ডলারের বিল বনাম কয়েক সেন্টের বিলের পার্থক্য। ফ্রি 1.5M টোকেন আপনার প্রজেক্টের প্রাথমিক রিকোয়েস্টগুলো রান করার জন্য যথেষ্ট।

টুল কলিং এবং এজেন্টস

Vercel AI SDK tools অবজেক্ট এবং zod স্কিমার মাধ্যমে ডিক্লারেটিভ উপায়ে টুল বর্ণনা করে। Kimi K2.6 নেটিভ function calling সমর্থন করে, তাই AI SDK টেক্সট রেসপন্স পার্স না করেই স্ট্রাকচার্ড tool_calls গ্রহণ করে। stopWhen: stepCountIs(n) প্যারামিটারটি পরপর কয়েকটি ধাপের অনুমতি দেয় — মডেল একটি টুল কল করে, ফলাফল পায় এবং কাজ চালিয়ে যায়।

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText, tool, stepCountIs } from 'ai';
import { z } from 'zod';

const gonka = createOpenAICompatible({
  name: 'gonka',
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: process.env.GONKA_API_KEY,
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  stopWhen: stepCountIs(5),
  tools: {
    weather: tool({
      description: 'শহরের আবহাওয়া জানুন',
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, tempC: 17 }),
    }),
  },
  prompt: 'মস্কোতে এখন আবহাওয়া কেমন? একটি বাক্যে উত্তর দিন।',
});

console.log(text);

মডেলটি weather টুল কল করে, ফলাফল পায় এবং চূড়ান্ত উত্তর তৈরি করে। সম্পূর্ণ সাইকেলটির জন্য Gonka-এর মাধ্যমে $0.000048 খরচ হয়, যেখানে Anthropic বা OpenAI-তে $0.03-$0.10 খরচ হয়। এজেন্ট অ্যাপ্লিকেশনের জন্য, যেখানে প্রতিটি ইউজার রিকোয়েস্ট ৫-১০টি ধাপে বিভক্ত হয়, প্রোডাকশনে এর ফলে প্রতি মাসে হাজার হাজার ডলার সাশ্রয় হয়।

আপনি যদি Python-এ AI-অ্যাপ্লিকেশন তৈরি করেন, তবে LangChain গাইডটি দেখুন — সেখানেও OpenAI-সামঞ্জস্যপূর্ণ ক্লাসের মাধ্যমে একই পদ্ধতি ব্যবহার করা হয়।

Vercel AI SDK + Gonka = TypeScript-এ সাশ্রয়ী production-ready AI-অ্যাপ্লিকেশন। createOpenAICompatible কোনো ফর্ক ছাড়াই গেটওয়ে সংযুক্ত করে, generateText এবং streamText সাধারণভাবেই কাজ করে, নেটিভ tool calling এবং Next.js route handlers — OpenAI এবং Anthropic-এর $2.5-15-এর পরিবর্তে মাত্র $0.0047/1M টোকেনে সবকিছু সম্ভব।

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

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

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