AI Infrastructure & Toolsপড়তে ১১ মিনিট লাগবে

র‍্যাগ (Retrieval Augmented Generation)

এআই (AI)-কে লাইব্রেরি কার্ড দিন — নিজের ডেটা থেকে সঠিক তথ্য খুঁজে উত্তর দেওয়ার শিল্প
scope:মধ্যবর্তী ধারণাdifficulty:মাঝারি

র‍্যাগ (RAG) কী?

কল্পনা করুন একজন বিশেষজ্ঞের কথা যাকে পরীক্ষায় প্রশ্নের উত্তর দিতে হবে। দুটো পদ্ধতি আছে:

  1. শুধু মুখস্থ বিদ্যা: সে যা পড়েছে তার মধ্য থেকেই উত্তর দেবে। নতুন তথ্য জানা নেই, কিছু ভুলে যেতে পারে।
  2. বই খুলে দেখার সুযোগ: সে প্রশ্ন দেখে প্রাসঙ্গিক বই খুলে সঠিক পাতা বের করবে এবং সেই তথ্য দিয়ে উত্তর দেবে।

সাধারণ এলএলএম (LLM) হলো প্রথমটির মতো — সে শুধু ট্রেনিংয়ে যা শিখেছে তা থেকে উত্তর দেয়। র‍্যাগ (Retrieval Augmented Generation - RAG) হলো দ্বিতীয়টির মতো — এলএলএম (LLM)-কে একটি "লাইব্রেরি কার্ড" দেওয়া হয় যাতে সে প্রশ্ন পেলে প্রথমে প্রাসঙ্গিক তথ্য খুঁজে বের করে, তারপর সেটি ব্যবহার করে উত্তর দেয়।

র‍্যাগ (RAG) কীভাবে কাজ করে?

র‍্যাগ (RAG) তিনটি প্রধান ধাপে কাজ করে:

  1. ইনডেক্সিং (Indexing): আপনার ডকুমেন্টগুলো ছোট ছোট টুকরোয় (Chunks) ভাগ করা হয় এবং প্রতিটি টুকরোকে ভেক্টরে (সংখ্যার তালিকায়) রূপান্তর করে ভেক্টর ডেটাবেসে (Vector Database) সংরক্ষণ করা হয়।
  2. রিট্রিভাল (Retrieval): ব্যবহারকারী প্রশ্ন করলে সেই প্রশ্নকেও ভেক্টরে রূপান্তর করা হয় এবং ভেক্টর ডেটাবেসে সবচেয়ে কাছের (অর্থের দিক দিয়ে মিলে যায় এমন) ডকুমেন্ট টুকরোগুলো খুঁজে বের করা হয়।
  3. জেনারেশন (Generation): খুঁজে পাওয়া ডকুমেন্ট টুকরোগুলো এলএলএম (LLM)-এর প্রম্পটে যোগ করে দেওয়া হয় এবং এলএলএম (LLM) সেগুলো ব্যবহার করে উত্তর তৈরি করে।
Note: RAG বনাম Fine-tuning: দুটো ভিন্ন উদ্দেশ্যে ব্যবহৃত হয়। RAG ব্যবহার করুন যখন আপনার নির্দিষ্ট ডেটা থেকে সঠিক তথ্য দরকার এবং ডেটা প্রায়ই আপডেট হয়। Fine-tuning ব্যবহার করুন যখন আপনি মডেলের আচরণ বা ভাষার ধরন পরিবর্তন করতে চান।

RAG-এর সুবিধা

  • হ্যালুসিনেশন কমায়: LLM মনগড়া উত্তর দেওয়ার বদলে নির্দিষ্ট ডকুমেন্ট থেকে তথ্য ব্যবহার করে।
  • আপ-টু-ডেট তথ্য: নতুন ডকুমেন্ট যোগ করলেই সিস্টেম আপডেট হয়ে যায়, মডেল পুনরায় ট্রেন করতে হয় না।
  • উৎস দেখানো যায়: প্রতিটি উত্তরের সাথে দেখানো যায় কোন ডকুমেন্ট থেকে তথ্যটি এসেছে।
  • খরচ কম: Fine-tuning-এর চেয়ে RAG সেটআপ করা অনেক সস্তা।

বাস্তব ব্যবহার

  • কাস্টমার সাপোর্ট: কোম্পানির FAQ ও ডকুমেন্টেশন থেকে উত্তর দেওয়া।
  • আইনি পরামর্শ: আইনের ডকুমেন্ট ও আদালতের রায় থেকে তথ্য খুঁজে বের করা।
  • একাডেমিক রিসার্চ: গবেষণাপত্র থেকে প্রাসঙ্গিক তথ্য সংগ্রহ করা।
  • কোড ডকুমেন্টেশন: কোডবেস ও API ডক থেকে ডেভেলপারদের প্রশ্নের উত্তর দেওয়া।

সাধারণ RAG পাইপলাইন (Python)

from langchain.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
# ১. ডকুমেন্ট লোড ও চাংক করা
loader = TextLoader("company_policy.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
chunks = splitter.split_documents(docs)
# ২. ভেক্টর ডেটাবেসে সংরক্ষণ
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(chunks, embeddings)
# ৩. RAG চেইন তৈরি
llm = ChatOpenAI(model="gpt-4")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever(search_kwargs={"k": 3})
)
# ৪. প্রশ্ন করা
result = qa_chain.run("আমাদের ছুটির নীতিমালা কী?")
print(result)
Output
# "কোম্পানির নীতিমালা অনুযায়ী, প্রতিটি স্থায়ী কর্মীর
# বছরে ২০ দিনের বেতনসহ ছুটি আছে। এর মধ্যে
# ১০ দিন সাধারণ ছুটি এবং ১০ দিন অসুস্থতাজনিত
# ছুটি। ছুটি আগে থেকে ম্যানেজারের অনুমোদন নিতে হবে।"
# (উৎস: company_policy.txt, পৃষ্ঠা ১২)
Challenge

ছোট কুইজ

RAG-এর 'R' মানে কী?

পড়া চালিয়ে যান

এমবেডিংস ও ভেক্টর সার্চ
এআই কীভাবে শব্দের অর্থ বোঝে — সংখ্যার মাধ্যমে ভাষার সম্পর্ক খুঁজে বের করার জাদু
এলএলএম কীভাবে কাজ করে?
বিড়ালটি ___ এর ওপর বসে আছে। শত শত কোটি উদাহরণ আর গণিতের ম্যাজিকে মেশিন কীভাবে সঠিক শব্দটি খুঁজে পায়?
এআই হ্যালুসিনেশন
যখন এআই পুরো আত্মবিশ্বাসের সাথে বানিয়ে গল্প বলে
ফাইন-টিউনিং
আপনার নিজের ডেটায় এআই মডেলকে কাস্টমাইজ করুন — সাধারণ মডেলকে বিশেষজ্ঞ বানানোর কৌশল