RAG, שליפת מידע מועשרת (Retrieval Augmented Generation)

📚 AI / ML ⏱️ 15 דק׳ 🎓 מתקדם ✓ חינם לגמרי
RAG, שליפת מידע מועשרת (Retrieval Augmented Generation)

למה RAG שונה מכל שיטה אחרת לתת ל-AI מידע

חברת ביטוח ישראלית עם 50,000 מסמכי פוליסות רצתה chatbot שעונה על שאלות לקוחות. Fine-tuning עלה 200,000 שקל ולקח חודשיים. RAG עלה 15,000 שקל ועבד תוך שבוע, עם דיוק גבוה יותר ועם יכולת לצטט מסמך ספציפי לכל תשובה. RAG הוא הארכיטקטורה שמחברת LLM לידע הפרטי שלך בלי לאמן מחדש.

הרעיון: במקום ללמד את המודל ידע חדש (fine-tuning), מוצאים את המסמכים הרלוונטיים בזמן ריצה ומוסיפים אותם ל-context. Claude 'יודע' על הדאטה שלך, תמיד מעודכן, ניתן לאימות, ובלי hallucination שאין לו מקור.

עדכון חשוב מ-2025: Anthropic עצמה ויתרה על RAG בתוך Claude Code לטובת חיפוש אגנטי (Grep + Glob). Boris Cherny, יוצר Claude Code: 'Early versions of Claude Code used RAG + a local vector db, but we found pretty quickly that agentic search generally works better. It is also simpler.' המשמעות: RAG מתאים למסמכים עסקיים, לקוד, grep עדיף.

ארכיטקטורת RAG, 5 רכיבים שחייבים להבין

כל RAG pipeline מורכב מאותם 5 שלבים. ההחלטות בכל שלב קובעות 80% מהדיוק הסופי:

שלבמה קורהההחלטה הקריטית
1. Document Processingטעינת PDF, Word, HTMLchunking strategy
2. Embeddingהמרת טקסט לוקטוריםבחירת מודל, חייב לתמוך עברית
3. Vector Storeשמירת הוקטורים ל-DBpgvector vs. Chroma vs. Pinecone
4. Retrievalשליפת chunks רלוונטייםsimilarity threshold, top-k, re-ranking
5. GenerationClaude מייצר תשובה מה-contextsystem prompt נגד hallucination

Contextual Retrieval, החידוש של Anthropic שמשנה הכל

בעיית ה-RAG הקלאסי: chunk שמכיל 'הוא קיבל פיצוי על הנזק' לא אומר כלום בלי הקשר, מי הוא? על איזה נזק? Anthropic פתרה זאת עם Contextual Retrieval: לפני embedding, Claude מוסיף 50-100 טוקנים שמסבירים את תפקיד ה-chunk בתוך המסמך הגדול.

התוצאות מדידות:

הפרומפט לייצור context אוטומטי לכל chunk:

אתה עוזר תיעוד. המסמך המלא הוא:
{WHOLE_DOCUMENT}

החלק הבא מתוך המסמך:
{CHUNK_CONTENT}

כתב 2-3 משפטים קצרים שמסבירים מה החלק הזה עושה בתוך המסמך,
מה הקשרו, ולמה הוא חשוב. התשובה תשמש כ-context לפני embedding.

Chunking, ההחלטה שאנשים מזלזלים בה ומשלמים מחיר

80% מבעיות RAG נובעות מ-chunking גרוע. שלוש גישות עיקריות:

לסטארטאפ בתל אביב שמנהל בסיס ידע של נהלים ו-SOPs, Semantic chunking עם Contextual Retrieval הוא השילוב האופטימלי.

תסביר לי RAG ובנה לי מערכת
אני ML engineer. בנה לי RAG system ל-50,000 מסמכי פוליסות ביטוח בעברית. חשוב: p95 latency תחת 2 שניות, ללא GPU, חייב לצטט מסמך ומספר עמוד לכל תשובה. השווה pgvector vs. ChromaDB vs. Pinecone לcase הספציפי הזה ומליץ. כלול Python code של DocumentProcessor ו-RAGPipeline classes עם error handling.

System Prompt נגד Hallucination, הנוסחה שעובדת

גם עם RAG מושלם, Claude יכול 'להשלים' מידע שאינו בחלקים שנשלפו. הפרומפט הבא מגביל את זה:

אתה עוזר מידע. ענה על השאלה רק בהתבסס על המסמכים הבאים.
אם המידע אינו במסמכים, ענה בדיוק: 'לא נמצא מידע במסמכים הזמינים'.
לכל עובדה שאתה מציין, ציין [שם מסמך, עמוד X].
אל תשלים, אל תנחש, אל תסתמך על ידע כללי.

מסמכים:
{context}

שאלה: {query}

באגף משאבי אנוש של חברה ישראלית שהטמיעה מערכת כזו לנהלים, כמות השאלות ל-HR ירדה ב-60% תוך חודשיים, כי העובדים קיבלו תשובות מהירות עם ציטוט מהנוהל הרשמי.

מתי לא להשתמש ב-RAG

RAG אינו תמיד הפתרון. שני מקרים שכדאי לדעת:

טעויות נפוצות ב-RAG

האצת re-ranking בין chunks
Chunks מאבדים הקשר של המסמך הגדול בעת חיתוך
הפחתת עלות ה-embedding בלבד
מעבר מ-Chroma ל-Pinecone
כשהמסמכים בעברית בלבד
כשצריך latency תחת שנייה
כשמחפשים בקוד לפי שמות פונקציות ו-class names
כשיש פחות מ-100 מסמכים
בחירת LLM לא נכון
בעיות בVector DB
Chunking גרוע, חיתוך שמאבד הקשר
system prompt לא ברור

סיכום, מה לקחת מהשיעור הזה

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.