Talim

RAG nima?

Retrieval-Augmented Generation — modelga tashqi ma'lumot bilan javob berish usuli.

12 daqiqa o‘qish · O‘rta → Ilg‘or

RAG arxitekturasi

RAG (Retrieval-Augmented Generation) — bu modelga javob berishdan oldin kerakli ma’lumotni topib berish usuli. Model «bilmasa ham» javob bera oladi.

Muammo: model hammasini bilmaydi

LLM’lar ma’lum sanagacha o‘qitilgan va tashqi ma’lumotni bilmaydi. RAG bu muammoni hal qiladi:

  • kompaniya ichki hujjatlari;
  • yangi ma’lumotlar;
  • maxsus bilim sohalari.

RAG oqimi

Dokumentlar → Chunking → Embeddings → Vektor bazasi

So‘rov ─────────────────────────────────→ Retrieval

                                      LLM (topilgan bo‘laklar bilan)

                                            Javob

Bosqichlar

1. Tayyorlash (offline)

from langchain.text_splitter import RecursiveCharacterTextSplitter
from openai import OpenAI

client = OpenAI()

text = open("guide.md").read()
chunks = RecursiveCharacterTextSplitter(
    chunk_size=500,
    chunk_overlap=50,
).split_text(text)

embeddings = []
for chunk in chunks:
    vec = client.embeddings.create(
        model="text-embedding-3-small",
        input=chunk,
    )
    embeddings.append(vec.data[0].embedding)

2. So‘rov vaqtida (online)

def rag_answer(question: str) -> str:
    # 1. So‘rovni vektorga aylantirish
    q_vec = embed(question)

    # 2. Eng mos bo‘laklarni topish (semantic search)
    top_chunks = vector_db.search(q_vec, limit=3)

    # 3. LLM'ga kontekst sifatida berish
    context = "\n\n".join(top_chunks)
    prompt = f"""
    Savolga faqat berilgan kontekst asosida javob ber.
    Agar kontekstda javob bo‘lmasa — «bilmayman» deb yoz.

    Kontekst:
    {context}

    Savol: {question}
    """
    return client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}],
    ).choices[0].message.content

Amaliy maslahat

Chunk o‘lchami muhim: juda kichik — kontekst yetarli emas, juda katta — keraksiz ma'lumot aralashadi. 300–800 belgi odatda yaxshi boshlanish nuqtasi.

RAG vs Agent

Xususiyat RAG Agent
Asosiy vazifa Ma’lumot topish + javob Vazifa bajarish
Rejalashtirish Yo‘q Ha
Tools Qidiruv (retrieval) Har qanday
Kombinatsiya Agent RAG’ni tool sifatida ishlatadi

Agent va RAG bir-birini to‘ldiradi: agent reja tuzadi, RAG esa ma’lumotni topadi.

Xulosa

RAG — modelga tashqi ma’lumot bilan javob berish usuli. Chunking → embeddings → retrieval → LLM oqimi orqali model «bilmaydigan» savollarga ham javob bera oladi.

Bu dars foydali bo‘ldimi?