מהמסמך לתשובה.
צעד אחר צעד, מאחורי הקלעים.

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

–מסמכים במאגר
–קטעים = וקטורים
768ממדים לכל וקטור
10קטעים נשלחים ל-LLM בכל שאלה
שלב א׳

הכנת הידע

קורה פעם אחת, כשמעלים מסמך למערכת.

01

העלאת מסמך

מי שמנהל חדר מעלה אליו מסמכים בפורמט PDF או Word, בדף המסמכים של החדר. עמודים סרוקים, שאין בהם שכבת טקסט, עוברים OCR אוטומטי.

PDFDOCXOCR לסרוקים
נוהל עבודה.pdfמועלה למאגר…
02

חילוץ טקסט, גם בעברית

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

תיקון כיווניות (BiDi)ניקוי תווים נסתרים
לפני. עובד במשרה מלאה זכאי ל22
1
אחרי1. עובד במשרה מלאה זכאי ל-22 ימי חופשה
03

חלוקה לקטעים

הטקסט מחולק לקטעים של עד 1,200 תווים, עם חפיפה של 200 תווים בין קטע לקטע, כדי שמשפט לא ייחתך באמצע. כל קטע זוכר מאיזה מסמך ומאיזה עמוד הוא הגיע.

Chunkingחפיפה בין קטעיםמיקום בעמוד
04

המרה לווקטור

כל קטע נשלח למודל Embedding, שמחזיר וקטור של 768 מספרים. קטעים עם משמעות דומה מקבלים וקטורים קרובים, גם כשהמילים שונות לגמרי.

gemini-embedding-001768 ממדים‖v‖ = 1
קטע #3 · עמ' 2

עובד רשאי לבצע שעות נוספות מהבית על פי התנאים הבאים…

Embedding
05

שמירה במטריצה אחת

כל הווקטורים נשמרים יחד כמטריצה, שורה לכל קטע. זה כל "מאגר הידע" של המערכת, והוא מוכן לחיפוש מהיר.

– × 768 = – מספרים
שלב ב׳

מענה לשאלה

קורה בכל שאלה, תוך שניות. הדוגמה כאן היא ריצה אמיתית על המסמכים במערכת.

06

גם השאלה הופכת לווקטור

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

q ∈ ℝ768~300 msעברית, English, Русский, العربية
מתי מותר לבצע שעות נוספות מהבית?
Embedding
07

מכפלת וקטורים מול כל המאגר

וקטור השאלה מוכפל בכל הווקטורים שבמטריצה, בפעולה אחת. התוצאה היא ציון דמיון (Cosine similarity) לכל קטע: ככל שהוא קרוב ל-1, הקטע קרוב יותר במשמעות לשאלה.

cos(q, d) = q · d‖q‖ ‖d‖ = q · d (כל הווקטורים מנורמלים)
כל המאגר נסרק בפחות מאלפית שנייה
וקטורי הקטעים (שורות המטריצה)× q =ציון
08

בחירת 10 הקרובים ביותר

הקטעים ממוינים לפי הציון, ונבחרים 10 הקרובים ביותר (Top-K), ואיתם עד 4 קטעים שצמודים לקרובים שבהם במסמך, כדי שרשימה או תהליך לא ייקטעו באמצע. כל השאר נשארים בשרת ולא נשלחים לשום מקום.

Top-Kמיון לפי דמיון
09

רק הם נשלחים ל-LLM

מודל השפה מקבל רק הנחיות (לענות רק מהקטעים ולציין מקור לכל טענה), את 10 הקטעים ואת השאלה. בשאלת המשך מצורפות גם השאלות האחרונות בשיחה. זה הכול, ולא כל מאגר המסמכים.

Geminiחסכוניפחות "הזיות"
הנחיות: לענות רק מהקטעים, עם מקור
השאלה
~3,400 טוקנים → Gemini
כל המאגר
–
נשלח בפועל
–
10

תשובה, עם מקור

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

Streamingציטוט מקורותהדגשה בעמוד
התשובה מופיעה כאן…
שלב ג׳

מחקר מעמיק

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

11

פירוק השאלה להיבטים

מודל השפה מפרק את השאלה לשתיים עד ארבע שאלות משנה, שכל אחת מובנת בפני עצמה. כל היבט נבדק בנפרד, כך שאף חלק של השאלה לא נשכח.

Query decompositionשכתוב שאלות
מה הכללים לעבודה מהבית?
LLM
1כמה ימים בשבוע מותר לעבוד מהבית?
2מה שעות הזמינות ביום עבודה מהבית?
3האם מותר לדווח שעות נוספות ביום עבודה מהבית?
12

חיפוש לפי משמעות ולפי מילים

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

Hybrid searchBM25Reciprocal Rank Fusion
קטעמשמעותמיליםמאוחד
תנאים לעבודה מהבית#2#11
שעות נוספות מהבית#1#32
דיווח על שעות העבודה מהבית#4#23
זמינות במהלך יום העבודה#3–4
RRF(d) = Σ 1 / (60 + rank(d))
13

בדיקה וסינון

מודל השפה קורא את הקטעים שנמצאו ונותן לכל אחד ציון רלוונטיות מ־0 עד 3. רק הקטעים הרלוונטיים נשלחים לתשובה, החשובים ביותר קודם.

LLM rerankingסינון רעש
1תנאים לעבודה מהבית3/3
2שעות נוספות מהבית3/3
3דיווח על שעות העבודה מהבית2/3
4חניית לילה ברכב איגום1/3
5מילוי טופס דרישת רכש0/3
14

חיפוש נוסף למה שחסר

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

Agentic RAGבדיקה עצמיתעד 2 סבבים
1כמה ימים בשבוע מותר לעבוד מהבית?
2מה שעות הזמינות ביום עבודה מהבית?
3האם מותר לדווח שעות נוספות ביום עבודה מהבית?חסר
שאילתה חדשה: דיווח שעות נוספות בעבודה מהבית
נמצא בסבב השני
<1 msלסרוק את כל המאגר
~3,400טוקנים בשאלה, לא משנה כמה מסמכים יש
100%מהתשובות עם מקור שאפשר לבדוק

רוצים לראות את זה בפעולה?

שאלו שאלה, והפעילו את "מצב מהנדס" כדי לראות את הווקטורים והציונים של כל תשובה.

כניסה לצ'אט