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

নেভিগেশন

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

বিভাগ

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

সরঞ্জাম

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

Vercel AI SDK হলো TypeScript এবং JavaScript-এ AI-অ্যাপ্লিকেশন তৈরির সবচেয়ে জনপ্রিয় SDK। ইউনিফাইড generateText এবং streamText API, 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.003 — যা শত থেকে হাজার গুণ সস্তা।

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

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

প্যাকেজ ইনস্টলেশন। কাস্টম 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-ваш-ключ
});

const { text } = await generateText({
  model: gonka('MiniMaxAI/MiniMax-M2.7'),
  prompt: 'Объясни, что такое децентрализованная сеть инференса',
});

console.log(text);

apiKey প্যারামিটারটি স্বয়ংক্রিয়ভাবে Authorization: Bearer jg-ваш-ключ হেডার যুক্ত করে — বাড়তি কোনো কনফিগারেশনের প্রয়োজন নেই। কি-টি কোডের ভেতরে না রেখে এনভায়রনমেন্ট ভেরিয়েবল 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-এর রাউট হ্যান্ডলার থেকে гото stream আউটপুট দেয়।

সার্ভার হ্যান্ডলার 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, // গেটওয়ের মাধ্যমে আউটপুট ক্যাপ
  });

  return result.toUIMessageStreamResponse();
}

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

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

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

মডেল প্যারামিটার। গেটওয়ের মাধ্যমে দুটি মডেল পাওয়া যায়, উভয়েরই ২০০K টোকেন কনটেক্সট উইন্ডো রয়েছে; আউটপুট ক্যাপ (maxOutputTokens) প্রতিটি মডেলেই ৮১৯২ পর্যন্ত:

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

খরচের তুলনা

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

সিনারিওটোকেনAnthropic / OpenAIJoinGonka Gonka
চ্যাটে একটি বার্তা~3K$0.01 — $0.05$0.000014
২০ বার্তার কথোপকথন~150K$0.50 — $2.25$0.00072
RAG-উত্তর (সার্চ + জেনারেশন)~5K$0.015 — $0.05$0.000024
টুল কল সহ এজেন্টের ধাপ~10K$0.03 — $0.10$0.000048
দিনে ১০,০০০ রিকোয়েস্ট (প্রড)~50M$150 — $500$0.24

JoinGonka-এর দাম প্রতি ১ মিলিয়ন ইনপুট টোকেনে প্রায় $0.003, আউটপুটের খরচ তিনগুণ বেশি। প্রতিদিন হাজার হাজার রিকোয়েস্ট থাকা অ্যাপ্লিকেশনের জন্য এটি শত শত ডলার বনাম কয়েক সেন্টের পার্থক্য। ১০ মিলিয়ন ফ্রি টোকেন প্রজেক্টটি প্রডে নেওয়ার আগে পুরোপুরি টেস্ট করার জন্য যথেষ্ট।

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

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-এ প্রোডাকশন-রেডি AI অ্যাপ্লিকেশন সাশ্রয়ী মূল্যে। createOpenAICompatible কোনো ফর্ক ছাড়াই Gateway কানেক্ট করে, generateText এবং streamText সাধারণভাবেই কাজ করে, নেটিভ tool calling এবং Next.js route handlers — সবই প্রতি ১ মিলিয়ন টোকেনের জন্য $0.003 খরচে, যেখানে OpenAI এবং Anthropic-এ $2.5-$15 খরচ হয়।

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

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

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