🧩
// AI ALGORITHMS · UYGHUR EDITION

RAG & AI ئالگورىزملىرى

Advanced AI Techniques — Complete Uyghur Reference

RAG، Vector Search، Fine-tuning، AI Agents، Knowledge Graphs، Advanced Prompt Engineering، LLM Evaluation ۋە AI Memory Systems — تولۇق كود مىسالى ۋە تەپسىلىي ئۇيغۇرچە چۈشەندۈرمە

🔍 01 — RAG Pipeline 🧲 02 — Vector Search ⚔️ 03 — Fine-tuning vs RAG 🤖 04 — AI Agents 🕸️ 05 — Knowledge Graphs ✍️ 06 — Prompt Engineering 📏 07 — LLM Evaluation 🧠 08 — Memory Systems
01
ئىزدەش كۈچەيتىلگەن ھاسىللاش
Retrieval-Augmented Generation (RAG)
LLM نىڭ ئۆز بىلىمى يەتمىگەندە تاشقى بىلىم ئامبىرىدىن ئىزدەپ جاۋاپ ھاسىللاش ئۇسۇلى
RAG (Retrieval-Augmented Generation) — LLM نى تاشقى بىلىم مەنبىلىرى بىلەن باغلايدىغان ئارخىتىكتۇرا. مودېلنى قايتا تەربىيىلەمەي تۇرۇپ، يېڭى ۋە ئانىق بىلىمنى قوشالايدۇ. 2020-يىلى Facebook Research تىمى تونۇشتۇرغان. فورمۇلا: RAG = Retrieval + Augmentation + Generation
🔄 RAG تولۇق جەريانى (Full Pipeline)
👤 سوئال
User Query
🔢 Embedding
ۋېكتورغا
🗄️ Vector DB
ئوخشاش ئىزدەش
📄 Context
مەزمۇن يوللاش
🤖 LLM
جاۋاپ ھاسىللاش
💬 جاۋاپ
مەنبە بىلەن
PHASE 1
Indexing (Offline)
ئىندېكسلاش — ئالدىن تەييارلاش
ھۆججەتلەرنى بۆلۈش، Embedding ھاسىللاش ۋە Vector DB غا ساقلاش. بىر قېتىم ئىجرا قىلىنىدۇ.
PDF، Word، Markdown ھۆججەتلىرى
Chunk size: 256–1024 تامغا
Overlap: 10–20% تەۋسىيە
PHASE 2
Retrieval (Online)
ئىزدەش — ۋاقىتلىق
سوئالنى ۋېكتورغا ئايلاندۇرۇپ، Vector DB دىن Cosine Similarity ئارقىلىق ئوخشاش مەزمۇن تاپىش.
Top-K: 3–10 نەتىجە تەۋسىيە
Reranking بىلەن ئىقتىدارنى ئاشۇرۇش
Hybrid Search (Keyword + Semantic)
PHASE 3
Generation (LLM)
ھاسىللاش — LLM
تېپىلغان مەزمۇن + ئەسلى سوئالنى LLM غا يوللاپ جاۋاپ ھاسىللاش. مەنبىنى كۆرسىتىش.
System prompt: «پەقەت بىرىلگەن مەزمۇندىن جاۋاپ بەر»
Citation: مەنبە ئۇچۇرىنى قوش
Faithfulness: خىيالبازلىقنى ئازايت

ئاساسلىق كود مىسالى — LangChain + OpenAI

Python — RAG Pipeline
# ── 1. ئىندېكسلاش (Indexing) ──────────────────────────
from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter   import RecursiveCharacterTextSplitter
from langchain_openai           import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma

# ھۆججەت يوللاش
loader = PyPDFLoader("uyghur_docs.pdf")
docs   = loader.load()

# بۆلۈش
splitter = RecursiveCharacterTextSplitter(
    chunk_size    = 512,
    chunk_overlap = 50,
    separators    = ["\n\n", "\n", ".", " "]
)
chunks = splitter.split_documents(docs)

# Vector DB غا ساقلاش
vectordb = Chroma.from_documents(
    documents  = chunks,
    embedding  = OpenAIEmbeddings(),
    persist_directory = "./chroma_db"
)

# ── 2. ئىزدەش + ھاسىللاش (RAG Chain) ────────────────
from langchain_openai import ChatOpenAI
from langchain.chains import RetrievalQA

llm       = ChatOpenAI(model="gpt-4o", temperature=0)
retriever = vectordb.as_retriever(search_kwargs={"k": 5})

rag_chain = RetrievalQA.from_chain_type(
    llm       = llm,
    retriever = retriever,
    return_source_documents = True
)

# سوئال سوراش
result = rag_chain.invoke({"query": "ئۇيغۇر تىلى قانداق تىل؟"})
print(result["result"])
print(result["source_documents"])

Advanced RAG ئۇسۇللىرى

ئۇسۇلئۇيغۇرچەچۈشەندۈرمەئىقتىدار
HyDEمۆلچەرلىمە ھۆججەت Embeddingئالدى بىلەن مۆلچەرلىمە جاۋاپ ھاسىللاپ ئاندىن ئىزدەش — توغرىلىق ئاشىدۇيۇقىرى
Multi-Queryكۆپ سوئال ئىزدەشبىر سوئالدىن 3-5 تۈرلۈك سوئال ھاسىللاپ ھەممىسىنى ئىزدەشيۇقىرى
Rerankingقايتا تەرتىپلەشCross-Encoder بىلەن نەتىجىلەرنى قايتا تەرتىپلەپ ئەڭ مۇناسىۋەتلىكىنى تاللاشيۇقىرى
Hybrid Searchئارلاش ئىزدەشBM25 (keyword) + Vector Search نى بىرلەشتۈرۈش. RRF ئۇسۇلى بىلەنيۇقىرى
Parent-Child Chunksئاتا-بالا بۆلۈككىچىك بۆلۈك بىلەن ئىزدەپ، چوڭ ئاتا بۆلۈكنى context قىلىشئوتتۇرا
GraphRAGگراپ ئىزدەشKnowledge Graph + RAG. Microsoft 2024. مۇرەككەپ مۇناسىۋەتلىك سوئاللار ئۈچۈنيۇقىرى
CRAGتۈزىتىلگەن RAGئىزدەش نەتىجىسى يەتمىسە، تور ئىزدەشكە قايتىدۇ. ئۆز-ئۆزىنى تۈزىتىشيۇقىرى
Agentic RAGAgent ئارقىلىق RAGAgent ئۆزى قاچان ئىزدەش، قانچە قېتىم ئىزدەش كېرەكلىكىنى بەلگىلەيدۇئالىي
02
ۋېكتور ئىزدەش ۋە Embedding
Vector Search & Embeddings
تېكىستنى سانلىق ۋېكتورغا ئايلاندۇرۇش ۋە مەنا ئاساسلىق ئىزدەش ئىلمى
Embedding — تېكىستنى يۇقىرى ئۆلچەملىك سانلىق ۋېكتورغا ئايلاندۇرۇش. ئوخشاش مەنادىكى تېكىستلەر ۋېكتور بوشلۇقىدا يېقىن بولىدۇ. «King − Man + Woman ≈ Queen» — ماتېماتىكىلىق مەنا ئارىفمېتىكىسى.

ئوخشاشلىق ئۆلچەش ئۇسۇللىرى

Python — Similarity Metrics
import numpy as np

def cosine_similarity(A, B):
    # ئەڭ كۆپ ئىشلىتىلىدۇ — يۆنىلىش ئوخشاشلىقى
    return np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))

def euclidean_distance(A, B):
    # مەسىپە — تۆۋەن = ئوخشاش
    return np.sqrt(np.sum((A - B) ** 2))

def dot_product(A, B):
    # Normalized ۋېكتور ئۈچۈن تېز
    return np.dot(A, B)

# مىسال
king   = embed("king")    # → [0.82, 0.11, ...]
queen  = embed("queen")   # → [0.79, 0.14, ...]
banana = embed("banana")  # → [-0.3, 0.92, ...]

print(cosine_similarity(king, queen))   # → 0.94 (يېقىن)
print(cosine_similarity(king, banana))  # → 0.12 (يىراق)

مەشھۇر Embedding مودېللىرى

مودېلئۆلچەمئالاھىدىلىكئىشلىتىش
text-embedding-3-large3072 ئۆلچەمOpenAI ئەڭ ياخشى. Matryoshka ئۆلچىمى تۆۋەنلىتىشتۆلەملىك
text-embedding-3-small1536 ئۆلچەمئارزان ۋە تېز. Production ئۈچۈن ياخشىتۆلەملىك
all-MiniLM-L6-v2384 ئۆلچەمHF ئەڭ مەشھۇر. تېز ۋە ئارزان. 45M+ چۈشۈرۈشھەقسىز
BGE-M31024 ئۆلچەمBAAI. 100+ تىل، Hybrid ئىزدەش قوللانغانھەقسىز
E5-mistral-7b4096 ئۆلچەمMistral ئاساسلىق. MTEB لىدىرباشتاھەقسىز
voyage-31024 ئۆلچەمAnthropic تەۋسىيە قىلىدۇ. Claude بىلەن ياخشىتۆلەملىك

Vector Database سېلىشتۇرۇشى

Python — Pinecone + FAISS مىسالى
# ── Pinecone (Production) ──────────────────────────────
import pinecone

pc = pinecone.Pinecone(api_key="...")
index = pc.Index("idirak-knowledge")

# ساقلاش
index.upsert(vectors=[
    {"id": "doc_1", "values": embedding, "metadata": {"text": "..."}},
])

# ئىزدەش
results = index.query(
    vector    = query_embedding,
    top_k     = 5,
    include_metadata = True
)

# ── FAISS (Local / Free) ───────────────────────────────
import faiss
import numpy as np

d     = 1536  # Embedding ئۆلچىمى
index = faiss.IndexFlatIP(d)  # Dot Product

# قوشۇش
vectors = np.array(embeddings, dtype='float32')
faiss.normalize_L2(vectors)
index.add(vectors)

# ئىزدەش
D, I = index.search(query_vec, 5)  # D=score, I=index
03
Fine-tuning vs RAG — قاچان قايسىنى تاللاش؟
Fine-tuning vs RAG — Decision Framework
ئىككى خىل ئۇسۇلنىڭ پەرقى، ئۈستۈنلۈكى ۋە قاچان ئىشلىتىش كېرەكلىكى

🔍 RAG

يېڭى بىلىمنى يىلتىز قوشالايدۇ
مەنبىنى كۆرسىتىشكە بولىدۇ
GPU خارجىيىتى يوق
خىيالبازلىقنى ئازايتىدۇ
بىلىمنى داۋاملىق يېڭىلاش ئاسان
Latency ئاشىدۇ
ئۇسلۇپ كونترولى ئاز
تىزىم مۇرەككەپلىكى بار
VS

🔧 Fine-tuning

ئۇسلۇپ ۋە تون كونترولى يۇقىرى
ئالاھىدە ۋەزىپىدە ئۈستۈن
ئىجرادا تېز (RAG جەريانسىز)
دومىن تىلى ئۆگىنىش
GPU + ۋاقىت خارجىيىتى
بىلىمنى يېڭىلاش قىيىن
مەنبى كۆرسىتىش قىيىن
Catastrophic Forgetting خەتەر

قارار دەرىخى — قايسىنى تاللاش?

Decision Framework
if "يېڭى بىلىم كېرەك (خەۋەر، شىركەت ھۆججىتى)":
    → RAG # مودېل بىلمەيدىغان بىلىمنى قوش

elif "ئۇسلۇپ ۋە تون ئۆزگەرتىش":
    → Fine-tuning # ئۆزگىچە ئاۋاز/ئۇسلۇپ

elif "ئالاھىدە ۋەزىپە (SQL، JSON، كود)":
    → Fine-tuning # ئانىق چىقىم فورماتى

elif "بىلىمنى داۋاملىق يېڭىلاش":
    → RAG # Fine-tuning قايتا-قايتا تەربىيىلەش كېرەك

elif "ئەڭ ياخشى نەتىجە كېرەك":
    → RAG + Fine-tuning # ئىككىسىنى بىرلەشتۈر

else:
    → RAG # سۈكۈتتىكى تاللاش

LoRA Fine-tuning — ئارزان ئۇسۇل

Python — LoRA with PEFT
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, TrainingArguments

# LoRA كونفىگۇراتسىيە
lora_config = LoraConfig(
    r              = 16,      # Rank — تۆۋەن = ئارزان، يۇقىرى = ئىقتىدارلىق
    lora_alpha     = 32,     # Scaling factor
    target_modules = ["q_proj", "v_proj"],  # قايسى قەۋەتلەر
    lora_dropout   = 0.05,
    bias           = "none",
    task_type      = "CAUSAL_LM"
)

# مودېل تەييارلاش
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-7B")
model = get_peft_model(model, lora_config)

# ئۆگىنىدىغان پارامېتر نىسبىتى
model.print_trainable_parameters()
# trainable: 0.64% (168M → 1M) — 99%+ يوللانمايدۇ!
04
AI Agent ۋە قورال ئىشلىتىش
AI Agents & Tool Use
LLM نىڭ ئۆز-ئۆزىگە قارار قىلىپ قورال ئىشلىتىدىغان ۋە ۋەزىپە رەتلەيدىغان سىستېما
AI Agent — LLM ئاساسىدا Thought → Action → Observation دەۋرى ئارقىلىق ئۆز-ئۆزىگە مۇرەككەپ ۋەزىپىلەرنى ئادا قىلالايدىغان سىستېما. پەقەت جاۋاپ ھاسىللاش ئەمەس — دۇنيا بىلەن ئۆز-ئارا تەسىر كۆرسىتىدۇ.

ReAct Pattern — ئەڭ مەشھۇر Agent ئۇسۇلى

ReAct Loop (Thought → Action → Observation)
Thought:  ئىشلەتكۈچى «idirak.com نىڭ ئالەكتىرون خەتى نېمە؟» دەپ سورىدى.
          ئىلكى ئىزدەشىم كېرەك.

Action:   web_search("idirak.com contact email")

Observation: نەتىجىدە info@idirak.com تېپىلدى.

Thought:  ئەمدى توغرا جاۋاپ بىرەلەيمەن.

Action:   finish("idirak.com نىڭ ئالاقە خەتى: info@idirak.com")

──────────────────────────────────────────────────────
# Python بىلەن ReAct مىسالى (LangChain)
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools  import DuckDuckGoSearchRun, PythonREPLTool

tools = [
    DuckDuckGoSearchRun(),  # تور ئىزدەش
    PythonREPLTool(),        # كود ئىجرا
]

agent    = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

result = executor.invoke({"input": "ئاخىرقى iPhone باھاسى نەچچە؟"})

Claude / OpenAI API بىلەن Tool Use

Python — Claude Tool Use
import anthropic

tools = [{
    "name": "get_weather",
    "description": "شەھەرنىڭ ھاۋارايى ئۇچۇرىنى ئالىش",
    "input_schema": {
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "شەھەر ئىسمى"}
        },
        "required": ["city"]
    }
}]

client   = anthropic.Anthropic()
response = client.messages.create(
    model    = "claude-sonnet-4-6",
    max_tokens = 1024,
    tools    = tools,
    messages = [{"role": "user", "content": "Oyama شەھىرىنىڭ ھاۋارايى?"}]
)

# Claude قورال چاقىرىش قارارى قىلىدۇ
if response.stop_reason == "tool_use":
    tool_call = response.content[0]
    # → {"name": "get_weather", "input": {"city": "Oyama"}}
    result = get_weather(tool_call.input["city"])
    # نەتىجىنى Claude غا قايتۇر
ReAct
Reasoning + Acting
ئويلىنىش + ئىجرا
ئويلىنىش ۋە ئىجرانى ئالماشتۇرۇپ ئىشلەيدۇ. ئەڭ كۆپ ئىشلىتىلىدىغان Agent ئۇسۇلى.
Plan-Execute
Plan then Execute
پىلانلاپ ئىجرا قىل
ئالدى بىلەن تولۇق پىلان تۈزۈپ ئاندىن قەدەممۇ-قەدەم ئىجرا قىلىدۇ. مۇرەككەپ ۋەزىپىلەر ئۈچۈن.
Multi-Agent
Agent Collaboration
كۆپ Agent ھەمكارلىقى
Orchestrator Agent تارماق Agent لارغا ۋەزىپە تارقىتىدۇ. AutoGen، CrewAI چارچۇۋىلىرى.
Self-Reflect
Self-Reflection
ئۆز-ئۆزىنى باھالاش
Agent ئۆز چىقىمىنى باھالاپ تۈزىتىدۇ. Reflexion، CRITIC قاتارلىق ئۇسۇللار.
05
بىلىم گراپى
Knowledge Graphs & GraphRAG
ئوبيېكتلار ئوتتۇرىسىدىكى مۇناسىۋەتنى گراپ قۇرۇلمىسىدا ئىپادىلەش ۋە RAG بىلەن بىرلەشتۈرۈش
Knowledge Graph — Triple قۇرۇلمىسى
# (ئوبيېكت) → [مۇناسىۋەت] → (ئوبيېكت)

# مىسال: idirak.com ھەققىدە بىلىم گراپى
triples = [
    ("Idirak",      "قۇردى",        "idirak.com"),
    ("Idirak",      "تۇرىدۇ",       "Oyama, Japan"),
    ("idirak.com", "ئاساسلانغان", "Next.js"),
    ("idirak.com", "ئىشلىتىدۇ",   "Claude API"),
    ("Next.js",    "تىلى",         "TypeScript"),
    ("Claude API", "قۇرغۇچى",     "Anthropic"),
]

# Neo4j بىلەن ساقلاش
from neo4j import GraphDatabase

driver = GraphDatabase.driver("bolt://localhost", auth=("neo4j", "pass"))

with driver.session() as session:
    session.run("""
        MERGE (w:Person {name: 'Idirak'})
        MERGE (i:Website {name: 'idirak.com'})
        MERGE (w)-[:قۇردى]->(i)
    """)

# Cypher بىلەن سوئال سوراش
result = session.run("""
    MATCH (p:Person)-[r]->(x)
    WHERE p.name = 'Idirak'
    RETURN type(r) as relation, x.name as target
""")
🕸️
Microsoft GraphRAG (2024)
Graph-based RAG — Community Detection + LLM
ئادەتتىكى RAG پىچاقلاپ ئىزدەيدۇ — GraphRAG گراپتىكى مۇناسىۋەتلەرنى يايدۇرۇپ چۈشىنىدۇ. خاسلىقى:

① Indexing: ھۆججەتلەردىن ئوبيېكت-مۇناسىۋەت-ئوبيېكت ئۈچلۈكى چىقىرىدۇ (LLM ئارقىلىق).
② Community Detection: ئوخشاش مەزمۇن توپلىرىنى بايقايدۇ (Leiden Algorithm).
③ Summaries: ھەر توپ ئۈچۈن خۇلاسە ھاسىللايدۇ.
④ Query: Global (پۈتۈن گراپ) ياكى Local (يېقىن تۈگۈن) ئىزدەش.
Global SearchLocal Search Community ReportsEntity Extraction
06
تەرەققىي قىلغان تەتكۈز يازغانلىقى
Advanced Prompt Engineering
LLM دىن ئەڭ ياخشى نەتىجىنى ئالىش ئۈچۈن كونكرېت ئۇسۇللار ۋە نامۇنىلار
ئۇسۇل 1
Zero-Shot
نۆل مىسال
مىسالسىز بىۋاسىتە سوئال. ئاددىي ۋەزىپىلەر ئۈچۈن. LLM نىڭ ئاساسلىق ئىقتىدارىنى ئۆلچەيدۇ.
ئۇسۇل 2
Few-Shot
ئازسانلىق مىسال
1-5 مىسال كۆرسىتىپ ئاندىن سوئال. توغرىلىقنى 15-25% ئاشۇرىدۇ. مىساللارنىڭ سۈپىتى مۇھىم.
ئۇسۇل 3
Chain-of-Thought
تەپەككۇر زەنجىرى
«قەدەممۇ-قەدەم ئويلاپ جاۋاپ بەر» دەپ قوش. ماتېماتىكا، مانتىقدا ئىقتىدارنى كۆپ ئاشۇرىدۇ.
ئۇسۇل 4
Self-Consistency
ئۆز-ئۆزىنى دەلىللەش
ئوخشاش سوئالغا 3-7 قېتىم جاۋاپ ھاسىللاپ كۆپچىلىك تاللاشنى قايتۇر. توغرىلىق ئاشىدۇ.
ئۇسۇل 5
Tree of Thoughts
تەپەككۇر دەرىخى
كۆپ تارماق تەپەككۇر يولىنى ئومۇملاشتۇرۇپ ئەڭ ياخشىسىنى تاللاش. GPT-4 + BFS/DFS.
ئۇسۇل 6
Role Prompting
رول تەتكۈزى
«سەن تەجرىبىلىك Python مۇھەندىسى» دەپ رول بەر. دومىن تىل ۋە ئۇسلۇبى ياخشىلىنىدۇ.

كونكرېت تەتكۈز نامۇنىلىرى

System Prompt — Production Level
SYSTEM_PROMPT = """
سەن idirak.com نىڭ AI ياردەمچىسىسەن.

## ھويىتىڭ
- ئىسمىڭ: Idirak AI
- تىلىڭ: ئۇيغۇرچە (ئىشلەتكۈچى ئۇيغۇرچە يازسا ئۇيغۇرچە جاۋاپ)
- ئۇسلۇبىڭ: كاسىپانە ۋە دوستانە

## قائىدىلەرڭ
1. پەقەت بىرىلگەن مەزمۇنغا ئاساسلانغان جاۋاپ بەر
2. بىلمىسەڭ ئاچىقچىلىق بىلەن «بىلمەيمەن» دە
3. جاۋابىڭنى ھەمىشە JSON شەكلىدە قايتۇر
4. ئىشەنچ دەرىجىسىنى كۆرسەت (0.0-1.0)

## چىقىم فورماتى
{
  "جاۋاپ": "...",
  "ئىشەنچ": 0.95,
  "مەنبە": ["doc_1", "doc_3"]
}
"""

# Chain-of-Thought مىسالى
CoT_PROMPT = """
تۆۋەندىكى مەسىلىنى ھەل قىل:

مەسىلە: {problem}

قەدەممۇ-قەدەم ئويلاپ جاۋاپ بەر:
1. مەسىلىنى چۈش: ...
2. مۇناسىۋەتلىك ئۇچۇر: ...
3. ھەل قىلىش يولى: ...
4. جاۋاپ: ...
"""
Python — Structured Output (OpenAI)
from pydantic import BaseModel
from openai   import OpenAI
from enum     import Enum

class Sentiment(Enum):
    POSITIVE = "مۇسبەت"
    NEGATIVE = "مەنپى"
    NEUTRAL  = "بىتەرەپ"

class SentimentResult(BaseModel):
    مۇناسىۋەت:    Sentiment
    ئىشەنچ:       float     # 0.0 - 1.0
    سەۋەب:        str
    ئاساسلىق_سۆز: list[str]

client   = OpenAI()
response = client.beta.chat.completions.parse(
    model           = "gpt-4o",
    messages        = [{"role": "user", "content": "بۇ مەزمۇننى تەھلىل قىل: ..."}],
    response_format = SentimentResult,
)
result = response.choices[0].message.parsed
# SentimentResult(مۇناسىۋەت=POSITIVE, ئىشەنچ=0.92, ...)
07
LLM ئىقتىدارىنى باھالاش
LLM Evaluation
ئاپتوماتىك كۆرسەتكۈچلەر، LLM-as-Judge، RAG ئالاھىدە باھالاش ۋە Benchmark لار

RAGAS — RAG ئالاھىدە باھالاش

Python — RAGAS Framework
from ragas         import evaluate
from ragas.metrics import (
    faithfulness,       # جاۋاپ مەنبەگە ماسمۇ?
    answer_relevancy,   # جاۋاپ سوئالغا ماسمۇ?
    context_recall,     # مۇھىم ئۇچۇر تېپىلدىمۇ?
    context_precision,  # تېپىلغان مەزمۇن مۇناسىۋەتلىكمۇ?
)

dataset = {
    "question": ["RAG دېگەن نېمە؟"],
    "answer":   ["RAG ئىزدەش كۈچەيتىلگەن ھاسىللاش..."],
    "contexts": [["RAG (Retrieval-Augmented Generation)..."]],
    "ground_truth": ["RAG — LLM نى تاشقى مەنبەلەر بىلەن..."]
}

result = evaluate(
    dataset,
    metrics = [faithfulness, answer_relevancy,
               context_recall, context_precision]
)

# نەتىجە مىسالى:
# faithfulness:      0.92  ← يۇقىرى = ياخشى
# answer_relevancy:  0.88
# context_recall:    0.85
# context_precision: 0.91

مۇھىم Benchmark لار

Benchmarkئۇيغۇرچەئۆلچەيدىغىنىئىشلىتىش
MMLUكۆپ ساھەلىك بىلىم57 ساھەدىكى بىلىم سوئالى. كۆپ تاللاشلىق. GPT-4o: 87.2%ئومۇمىي
HumanEvalكود ھاسىللاش164 Python كود مەسىلىسى. Unit Test ئارقىلىق باھالاشكود
MATHماتېماتىكا12,500 ئالىي دەرىجىلىك ماتېماتىكا مەسىلىسى. o3: 96.7%ماتېماتىكا
MT-Benchكۆپ مەرتىبىلىك سۆھبەت80 كۆپ مەرتىبىلىك سۆھبەت سوئالى. GPT-4 باھالايدۇسۆھبەت
LMSYS Arenaئىنسان تاللاشىchatbot.lmsys.org — ئىنسانلار ئىككى مودېلنى سېلىشتۇرىدۇ. ELO نومۇرىئىنسان
ARC-AGIAGI سىناقئىنسان ئىقتىدارى = 85%, o3: 87.5% — AGI يىلتىزىAGI
RAGASRAG باھالاشFaithfulness، Relevancy، Recall، Precision. RAG سىستېمىسى ئۈچۈنRAG
08
AI خاتىرە سىستېمىسى
AI Memory Systems
LLM نىڭ 4 خىل خاتىرە تۈرى ۋە ئەمەلىي بىناسى
🧠 تولۇق خاتىرە ئارخىتىكتۇرىسى
👤 سوئال
⚡ Short-term
مەزمۇن دەرىچىسى
+
🗄️ Long-term
Vector DB
+
📅 Episodic
ۋەقە تارىخى
🤖 LLM
ھەممىسى بىرگە
💬 جاۋاپ
Python — ئەمەلىي خاتىرە سىستېمىسى
from langchain.memory import (
    ConversationBufferMemory,     # قىسقا مۇددەتلىك
    ConversationSummaryMemory,     # خۇلاسىلىغان خاتىرە
    VectorStoreRetrieverMemory,   # ئۇزۇن مۇددەتلىك
)

# ── قىسقا مۇددەتلىك خاتىرە ──────────────────────────
short_memory = ConversationBufferMemory(
    max_token_limit = 2000,  # مەزمۇن دەرىچىسىنى چەكلە
    return_messages = True
)

# ── ئۇزۇن مۇددەتلىك خاتىرە (Vector DB) ─────────────
long_memory = VectorStoreRetrieverMemory(
    retriever = vectordb.as_retriever(search_kwargs={"k": 3}),
    memory_key = "long_term_history"
)

# ── ئىشلەتكۈچى ئۇچۇرى ساقلاش ──────────────────────
class UserMemory:
    def __init__(self, user_id):
        self.user_id  = user_id
        self.facts    = []

    def save_fact(self, fact):
        self.facts.append({
            "fact": fact,
            "user": self.user_id
        })
        vectordb.add_texts([fact])

    def recall(self, query):
        return vectordb.similarity_search(query, k=3)

# مىسال
mem = UserMemory("Idirak")
mem.save_fact("Idirak Next.js ۋە TypeScript ئىشلىتىدۇ")
mem.save_fact("Idirak Oyama, Japan دا تۇرىدۇ")

# كېيىنكى سۆھبەتتە
context = mem.recall("Idirak قانداق تېخنىكا ئىشلىتىدۇ?")
# → ["Next.js ۋە TypeScript ئىشلىتىدۇ"]
تۈرئۇيغۇرچەئىشلىتىشئۈسكۈنە
Short-termقىسقا مۇددەتلىكھازىرقى سۆھبەت تارىخى. مەزمۇن دەرىچىسىدە ساقلانىدۇContext Window
Long-termئۇزۇن مۇددەتلىكسۆھبەتلەر ئاسىسىدىكى ئىشلەتكۈچى ئۇچۇرى ۋە ھۆججەتVector DB
Episodicۋەقە خاتىرىسىئۆتمۈشتىكى ئىشلار، قارارلار، تارىخ يازمىسىSQL / NoSQL
Semanticمەنالىق خاتىرەئومۇم بىلىم، مۇناسىۋەتلەر، تۈشۈنچىلەرKnowledge Graph
Proceduralجەريان خاتىرىسىقانداق ئىشلىتىشنى بىلىش — System Prompt داSystem Prompt