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

নেভিগেশন

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

বিভাগ

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

সরঞ্জাম

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

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

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

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

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

JoinGonka API-কি: gate.joingonka.ai/register -এ রেজিস্টার করুন — শুরুতে আমরা দিচ্ছি 3M ফ্রি টোকেন — এবং Dashboard থেকে একটি 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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonka একটি চ্যাট-এন্ডপয়েন্ট
    is_function_calling_model=True, # নেটিভ টুল কলিং সাপোর্ট করে
    context_window=200000,         # নেটওয়ার্ক মডেলের জন্য ২০০K
    max_tokens=8192,               # Gateway-এর মাধ্যমে আউটপুট সীমা
)

response = llm.complete("RAG কী তা তিনটি বাক্যে ব্যাখ্যা করো।")
print(response)

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

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

LlamaIndex-এর ক্লাসিক সিনারিও হলো আপনার নথিপত্র (documents) ইন্ডেক্স করা এবং 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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    context_window=200000,
    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)

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

খরচ: একটি RAG-পাইপলাইন রিকোয়েস্টে (সার্চ + জেনারেশন) প্রায় ২–৫K LLM টোকেন খরচ হয়। Gonka-এর মাধ্যমে এটি সেন্টেরও অনেক কম; যা OpenAI/Anthropic-এর তুলনায় ৩–৪ গুণ সাশ্রয়ী। প্রতিদিন হাজার হাজার রিকোয়েস্টের ক্ষেত্রে এই পার্থক্য প্রতি মাসে কয়েক হাজার ডলার সাশ্রয় করে।

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

RAG-অ্যাপ্লিকেশন মানে কোনো সাধারণ চ্যাট নয়, বরং এটি একটি অবিরাম অনুরোধের প্রবাহ: প্রতিটি ব্যবহারকারীর প্রশ্ন প্রায় ২–৫K LLM টোকেন খরচ করে (প্রশ্ন এবং প্রাসঙ্গিক কনটেক্সট)। বিভিন্ন প্রোভাইডারের ক্ষেত্রে এর খরচ কত তা দেখে নেওয়া যাক। JoinGonka Gateway-এর মাধ্যমে Gonka-এর মূল্য: ইনপুট প্রায় $0.0069/1M, আউটপুট ×৩।

দৃশ্যপটLLM টোকেনOpenAI / AnthropicJoinGonka Gonka
নলেজ বেসে একটি প্রশ্ন~4K$0.01 — $0.06~$0.00004
সাপোর্ট চ্যাট-বট (১K অনুরোধ/দিন)~4M/দিন$10 — $60 প্রতিদিন~$0.038 প্রতিদিন
ইনডেক্সিং + корпус-এর ওপর Q&A (১M শব্দ)~5M$12 — $75~$0.048
Production-সার্ভিস, ৫০K অনুরোধ/মাস~200M/মাস$500 — $3,000 প্রতি মাসে~$1.92 প্রতি মাসে

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

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

LlamaIndex শুধু ডকুমেন্টের উত্তরই দেয় না, বরং টুলের সাথে এজেন্ট তৈরি করতেও সক্ষম। Gonka-এর তিনটি মডেলই নেটিভ tool calling সাপোর্ট করে — এজেন্টরা কোনো টেক্সট পার্সিং ছাড়াই স্ট্রাকচারডভাবে ফাংশন কল করে। টুলের সাথে এজেন্টের উদাহরণ:

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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=200000,
    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)কনটেক্সটম্যাক্স আউটপুটকখন ব্যবহার করবেন
MiniMaxAI/MiniMax-M2.7200K8192ডিফল্ট (উদাহরণ অনুযায়ী): tool calling, এজেন্ট, RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768নেটওয়ার্কের দ্বিতীয় দীর্ঘতম কনটেক্সট, দীর্ঘতম আউটপুট, সস্তা বড় প্রম্পট
zai-org/GLM-5.3-Flash390K8192Reasoning মডেল: জটিল লজিক, নেটওয়ার্কের দীর্ঘতম কনটেক্সট; reasoning-এর জন্য কিছু max_tokens খরচ হয়

Gateway-এর মাধ্যমে max_tokens লিমিট MiniMax M2.7 এবং GLM-5.3 Flash-এর জন্য 8192 পর্যন্ত, এবং DeepSeek V4 Flash-এর জন্য 32768 পর্যন্ত। যদি নন-স্ট্রিমিং রিকোয়েস্টের জন্য max_tokens সেট করা না থাকে, তবে ডিফল্ট হিসেবে ১৫০০ টোকেন পর্যন্ত রিটার্ন হবে — RAG উত্তর এবং এজেন্টের কাজের জন্য এই ভ্যালু স্পষ্টভাবে সেট করুন।

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

LlamaIndex + Gonka = অত্যন্ত সাশ্রয়ী মূল্যে production-ready RAG এবং এজেন্ট। OpenAILike (is_chat_model=True) এর মাধ্যমে কানেক্ট করুন, নেটিভ tool calling এবং লোকাল এম্বেডিং সাপোর্ট। ইনপুট $0.0069/1M, যা OpenAI-এর $2.50–15 এর তুলনায় অনেক কম। কার্ড ছাড়াই স্টার্টিং টোকেন ব্যবহার করে পাইপলাইন টেস্ট করুন।

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

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

ফ্রি টোকেন সংগ্রহ করুন →