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

নেভিগেশন

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

বিভাগ

সরঞ্জাম 54
গ্লসারি 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.0062/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 a chat endpoint
    is_function_calling_model=True, # native tool calling is supported
    context_window=180000,         # MiniMax M2.7 context window
    max_tokens=8192,               # Gateway output cap
)

response = llm.complete("Explain what RAG is in three sentences.")
print(response)

OpenAILike সম্পর্কে গুরুত্বপূর্ণ: অবশ্যই is_chat_model=True উল্লেখ করুন — নাহলে LlamaIndex কথোপকথনের বদলে কাঁচা প্রম্পট নিয়ে পুরনো Completions এন্ডপয়েন্টে যাবে। is_function_calling_model=True নেটিভ tool calls সক্রিয় করে। 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. LLM via Gonka (set once, globally)
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=180000,
    max_tokens=8192,
)

# 2. Local embeddings (free, no OpenAI)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. Load and index documents from the ./data folder
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Query the knowledge base
query_engine = index.as_query_engine()
response = query_engine.query("What is this document about?")
print(response)

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

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

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

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

পরিস্থিতি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 পাইপলাইনের প্রথম অনুরোধগুলো চালানো, একটি পরীক্ষামূলক কর্পাস সূচীকরণ এবং হাজার হাজার অনুরোধ চালানো সম্ভব — এবং এক পয়সাও খরচ না করে। Production পরিমাণে 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=180000,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """Multiplies two numbers."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="You are a helpful assistant. Use the tools for calculations.",
)

async def main():
    result = await agent.run("What is 1234 multiplied by 5678?")
    print(result)

asyncio.run(main())

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

মডেল (model)কনটেক্সটসর্বোচ্চ আউটপুটকখন নেবেন
MiniMaxAI/MiniMax-M2.7180K8192ডিফল্ট (উদাহরণের মতো): tool calling, এজেন্ট, RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768নেটওয়ার্কে দৈর্ঘ্যে দ্বিতীয় কনটেক্সট, সবচেয়ে দীর্ঘ আউটপুট, সস্তা বড় প্রম্পট
zai-org/GLM-5.3-Flash390K8192Reasoning-মডেল: জটিল লজিক, নেটওয়ার্কের সবচেয়ে দীর্ঘ কনটেক্সট; চিন্তা max_tokens-এর একটি অংশ খরচ করে

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

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

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

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

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

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