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

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

সরঞ্জাম

সরঞ্জাম

LlamaIndex + Gonka AI — RAG অ্যাপ্লিকেশন নগণ্য খরচে

LlamaIndex হল RAG-অ্যাপ্লিকেশন এবং পাইথনে এআই এজেন্ট তৈরির জন্য একটি নেতৃস্থানীয় কাঠামো (LlamaIndex.TS এর একটি TypeScript সংস্করণও আছে)। এটি ডকুমেন্ট লোড করা, চ্যাঙ্কে বিভক্ত করা, ইনডেক্সিং, ভেক্টর দ্বারা অনুসন্ধান করা এবং প্রতিক্রিয়া একত্রিত করার কাজ করে - আপনি ডেটা বর্ণনা করেন এবং LlamaIndex সেগুলিকে যেকোনো LLM এর উপরে একটি প্রশ্ন-উত্তর সিস্টেমে পরিণত করে।

সমস্যা একটি - ইনফারেন্স খরচ। RAG তার প্রকৃতি অনুসারে শক্তি-ক্ষুধার্ত: প্রতিটি প্রশ্নের জন্য, একটি প্রশ্ন এবং প্রসঙ্গের কয়েকটি পাওয়া টুকরা মডেলে পাঠানো হয়, এবং বড় সংগ্রহগুলির ইনডেক্সিংয়ের জন্য এমবেডিং যোগ করা হয়। প্রোডাকশন ভলিউমে এটি প্রতিদিন হাজার হাজার অনুরোধ। OpenAI ($2.50–15 প্রতি 1M টোকেন) বা Anthropic ($3–15 প্রতি 1M) এ, এমনকি একটি সাধারণ প্রশ্ন-উত্তর পরিষেবাও প্রতি মাসে হাজার হাজার ডলারে পরিণত হয়।

LlamaIndex OpenAILike ক্লাস এর মাধ্যমে যেকোনো OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্টের সাথে নেটিভভাবে কাজ করে। এর অর্থ হল JoinGonka Gateway কয়েকটি লাইন দিয়ে সংযুক্ত হয় - কাস্টম প্রদানকারী এবং প্যাচ ছাড়াই। ফলস্বরূপ: একই RAG সিস্টেম ইনপুটে $0.0005/1M টোকেন (আউটপুট ×3) এর জন্য Gonka এর বিকেন্দ্রীভূত নেটওয়ার্কের মাধ্যমে কাজ করে - ক্লাউড API এর চেয়ে শতগুণ এবং হাজারগুণ সস্তা।

দ্রুত শুরু: OpenAILike এর মাধ্যমে সংযোগ

JoinGonka API কী: gate.joingonka.ai/register এ নিবন্ধন করুন - শুরুতে আমরা 10M বিনামূল্যে টোকেন দিচ্ছি - এবং ড্যাশবোর্ডে একটি jg-xxx কী তৈরি করুন।

ইনস্টলেশন:

pip install llama-index llama-index-llms-openai-like

যেকোনো OpenAI-সামঞ্জস্যপূর্ণ API LlamaIndex এর জন্য llama_index.llms.openai_like প্যাকেজ থেকে OpenAILike ক্লাস সরবরাহ করে। Gonka এর জন্য একটি ন্যূনতম অনুরোধের উদাহরণ:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-আপনার-কী",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,            # Gonka — এটি একটি চ্যাট-এন্ডপয়েন্ট
    is_function_calling_model=True, # নেটিভ টুল কলিং সমর্থিত
    context_window=131072,         # 128K Qwen3-235B এ
    max_tokens=8192,               # গেটওয়ের মাধ্যমে আউটপুট সীমা (Qwen)
)

response = llm.complete("তিনটি বাক্য ব্যাখ্যা করুন RAG কি?")
print(response)

OpenAILike সম্পর্কে গুরুত্বপূর্ণ: is_chat_model=True অবশ্যই উল্লেখ করুন - অন্যথায় LlamaIndex একটি কমপ্লিশন-এন্ডপয়েন্টে যাবে, যা আমাদের নেই। is_function_calling_model=True নেটিভ টুল কলগুলি সক্ষম করে। LlamaIndex প্রসঙ্গটি সঠিকভাবে কাটতে পারে তার জন্য মডেল অনুযায়ী context_window সেট করুন।

উদাহরণ: ক্যোয়ারী ইঞ্জিন সহ একটি RAG-পাইপলাইন

LlamaIndex এর একটি ক্লাসিক পরিস্থিতি হল আপনার নথিগুলির জন্য একটি সূচী এবং query_engine এর মাধ্যমে সেগুলিতে প্রশ্ন করা। গ্লোবাল LLM Settings.llm এর মাধ্যমে একবার সেট করা হয়, তারপরে পুরো পাইপলাইন স্বয়ংক্রিয়ভাবে Gonka ব্যবহার করে।

from llama_index.core import (
    VectorStoreIndex,
    SimpleDirectoryReader,
    Settings,
)
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# 1. Gonka এর মাধ্যমে LLM (একবার — বিশ্বব্যাপী)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-আপনার-কী",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    context_window=131072,
    max_tokens=8192,
)

# 2. স্থানীয় এম্বেডিং (বিনামূল্যে, OpenAI ছাড়াই)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. ./data ফোল্ডার থেকে নথি লোড এবং সূচী করা
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. জ্ঞান ভান্ডারে প্রশ্ন
query_engine = index.as_query_engine()
response = query_engine.query("এই নথিটি কী সম্পর্কে?")
print(response)

এম্বেডিং সম্পর্কে গুরুত্বপূর্ণ nuance: ডিফল্টরূপে VectorStoreIndex OpenAI এম্বেডিং (text-embedding-ada-002) ব্যবহার করে - এটি OpenAI এর পৃথক পেইড কল, Gonka এর নয়। OpenAI থেকে সম্পূর্ণরূপে সরে আসার জন্য, Settings.embed_model এর মাধ্যমে একটি স্থানীয় এম্বেডিং মডেল সেট করুন (উপরের উদাহরণে HuggingFaceEmbedding, pip install llama-index-embeddings-huggingface প্যাকেজ)। তাহলে জেনারেশন Gonka এর মাধ্যমে হবে, এবং ভেক্টরাইজেশন স্থানীয়ভাবে এবং বিনামূল্যে হবে।

খরচ: একটি RAG-পাইপলাইন অনুরোধ (অনুসন্ধান + জেনারেশন) LLM এর ~2–5K টোকেন ব্যবহার করে। Gonka এর মাধ্যমে এটি এক সেন্টের ভগ্নাংশ; OpenAI/Anthropic এর মাধ্যমে - 3-4 গুণ বেশি ব্যয়বহুল। প্রতিদিন হাজার হাজার অনুরোধের প্রবাহে, পার্থক্য প্রতি মাসে হাজার হাজার ডলার সঞ্চয়ে পরিণত হয়।

RAG-ওয়ার্কলোডের খরচের তুলনা

RAG অ্যাপ্লিকেশন একটি একক চ্যাট নয়, বরং অনুরোধের একটি অবিচ্ছিন্ন প্রবাহ: ব্যবহারকারীর প্রতিটি প্রশ্ন LLM এর 2-5K টোকেন নিয়ে আসে (প্রশ্ন নিজেই এবং প্রাসঙ্গিক প্রসঙ্গের পাওয়া টুকরা)। আমরা সাধারণ ভলিউম এবং বিভিন্ন প্রদানকারীর কাছে তাদের খরচ গণনা করব। JoinGonka Gateway এর মাধ্যমে Gonka এর দাম: ইনপুট ~$0.0005/1M, আউটপুট ×3।

দৃশ্যপটLLM টোকেনOpenAI / AnthropicJoinGonka Gonka
জ্ঞানভান্ডারে একটি প্রশ্ন~4K$0.01 — $0.06~$0.000005
সাপোর্ট চ্যাটবট (প্রতিদিন 1K অনুরোধ)~4M/দিনপ্রতিদিন $10 — $60প্রতিদিন ~$0.005
করপাস ইনডেক্সিং + প্রশ্নোত্তর (1M শব্দ)~5M$12 — $75~$0.006
প্রোডাকশন-সার্ভিস, প্রতি মাসে 50K অনুরোধ~200M/মাসপ্রতি মাসে $500 — $3,000প্রতি মাসে ~$0.25

বিনামূল্যে 10M টোকেন দিয়ে সমস্ত RAG-পাইপলাইন ডিবাগ করা সম্ভব, একটি পরীক্ষার করপাস ইনডেক্স করা এবং হাজার হাজার অনুরোধ চালানো সম্ভব - এবং কোনো খরচ না করেই। প্রোডাকশন ভলিউমে, JoinGonka Gateway RAG কে একটি ব্যয়বহুল পরিষেবা থেকে এমন একটি খরচের আইটেমে পরিণত করে যা আপনি একেবারেই লক্ষ্য করতে পারেন না।

এজেন্ট, টুল কলিং এবং মডেল নির্বাচন

LlamaIndex কেবল ডকুমেন্ট থেকে উত্তর দিতে পারে না, বরং টুলস সহ এজেন্টও তৈরি করতে পারে। তিনটি Gonka মডেলই নেটিভ টুল কলিং সমর্থন করে – এজেন্টরা স্ট্রাকচারডভাবে ফাংশন কল করে, টেক্সট পার্স না করেই। একটি টুল সহ এজেন্টের উদাহরণ:

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-আপনার-কী",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=131072,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """দুটি সংখ্যা গুণ করে।"""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="আপনি একজন সহায়ক সহকারী। গণনার জন্য সরঞ্জাম ব্যবহার করুন।",
)

async def main():
    result = await agent.run("1234 কে 5678 দিয়ে গুণ করলে কত হবে?")
    print(result)

asyncio.run(main())

মডেল নির্বাচন (model ফিল্ড এবং সংশ্লিষ্ট context_window / max_tokens সীমা):

মডেল (model)প্রসঙ্গসর্বোচ্চ আউটপুটকখন নিতে হবে
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8128K8192ডিফল্ট: RAG, এজেন্ট, দীর্ঘ উত্তর
moonshotai/Kimi-K2.6128K3072দৃঢ় যুক্তি এবং টুল কলিং
MiniMaxAI/MiniMax-M2.7128K4096এজেন্ট কাজের জন্য বিকল্প

গেটওয়ের মাধ্যমে max_tokens এর সীমা Qwen3 মডেলে 8192 পর্যন্ত; Kimi এবং MiniMax এর জন্য যথাক্রমে 3072 এবং 4096 উল্লেখ করুন। যদি নন-স্ট্রিমিং অনুরোধের জন্য max_tokens নির্দিষ্ট না করা হয়, তাহলে ডিফল্টরূপে 1500 টোকেন পর্যন্ত ফেরত দেওয়া হবে - RAG-উত্তর এবং এজেন্ট পদক্ষেপের জন্য স্পষ্টভাবে মান সেট করুন।

TypeScript: LlamaIndex.TS এর জন্য একটি মিরর পথ রয়েছে - @llamaindex/openai প্যাকেজ থেকে OpenAI ক্লাস baseURL এবং apiKey (বা OPENAI_BASE_URL / OPENAI_API_KEY ভেরিয়েবল পড়ে) গ্রহণ করে, তাই একই গেটওয়ে Node.js-স্ট্যাকেও সংযুক্ত থাকে। যদি আপনি পাইথন-ফ্রেমওয়ার্কে এআই অ্যাপ্লিকেশন তৈরি করেন, তবে LangChain এর জন্য গাইডটিও দেখুন।

LlamaIndex + Gonka = RAG এবং এজেন্টদের জন্য প্রস্তুত উৎপাদন, প্রতি সেন্টের ভগ্নাংশে। OpenAILike (is_chat_model=True) এর মাধ্যমে সংযোগ, নেটিভ টুল কলিং, স্থানীয় এম্বেডিং — OpenAI এর $2.50–15 এর পরিবর্তে ইনপুট $0.0005/1M। 10M বিনামূল্যে টোকেন পুরো পাইপলাইন ডিবাগ করার জন্য যথেষ্ট।

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

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

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