מהי ארכיטקטורת RAG? הגדרה מלאה עם דוגמאות מעשיות מפורטות

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

Diagram of the types of RAG architecture branching from a central hub: basic, hybrid, adaptive, corrective (CRAG), self-RAG, multimodal, agentic, GraphRAG, HyDE, and branched.

RAG, ראשי תיבות של retrieval augmented generation (יצירה מועשרת באחזור), הוא תהליך שבו מודלי LLM משתמשים במידע חיצוני כדי להרחיב ולשפר את הפלטים שלהם. ארכיטקטורת RAG היא מערך הרכיבים והחיבורים שמאפשרים את RAG.

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

מהי ארכיטקטורת RAG?

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

הנה סקירה כללית של ארכיטקטורת RAG הבסיסית:

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

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

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

סוגי ארכיטקטורת RAG

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

1. RAG בסיסי

RAG בסיסי, המכונה גם RAG "נאיבי" או "פשוט", הוא התבנית הארכיטקטונית של סוגי RAG אחרים.

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

מקור המידע החיצוני הוא בדרך כלל מסד נתונים וקטורי, אך הוא יכול להיות גם מסד נתונים SQL, ממשק API מבוסס אינטרנט, גרף ידע או אפילו מאגר מסמכים "גולמי". המידע הנוסף הזה מתווסף לאחר מכן להקשר הקלט של ה-LLM.

מלבד שאילתות SQL וממשקי API, יש שני סוגים עיקריים של שיטות אחזור:

  • חיפוש לקסיקלי (חיפוש לפי מילות מפתח): זוהי צורה פשוטה של RAG שבה מחולצות מילות מפתח משאילתת המשתמש ומותאמות לקטעי טקסט שמכילים אותן. בצינורות מודרניים, המתזמר עשוי לבצע לשם כך מה שמכונה שאילתת וקטור דליל (sparse vector), שאינה לוכדת משמעות.
  • חיפוש וקטורי צפוף (חיפוש סמנטי): הטמעות וקטוריות צפופות לוכדות משמעות. מתזמר יכול לשלוח שאילתה למסד נתונים של וקטורים צפופים באופן שמאפשר ללכוד את המשמעות הן של הנחיית המשתמש והן של מידע המקור.

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

2. היברידי

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

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

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

3. RAG אדפטיבי

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

במסגרת המקורית (Adaptive-RAG), מודל קטן יותר שימש כמסווג ובחר בין היעדר אחזור, אחזור חד-שלבי או אחזור רב-שלבי. כיום, חלק מהארכיטקטורות משתמשות במקום זאת במודלים גנרטיביים או בהיוריסטיקות מבוססות כללים.

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

4. RAG מתקן (CRAG)

RAG מתקן מעריך את המידע שאוחזר לפני שהוא מוסיף אותו להקשר הקלט של ה-LLM. מעריך אחזור בודק אם המידע שאוחזר רלוונטי ושימושי. המאפיין הארכיטקטוני הייחודי הוא שלב ההערכה והתיקון המפורש שלפני יצירת התשובה.

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

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

5. Self-RAG

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

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

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

6. RAG מבוסס סוכנים

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

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

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

7. RAG מולטימודלי

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

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

8. GraphRAG

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

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

9. RAG מסועף

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

10. HyDE (Hypothetical Document Embeddings – הטמעות של מסמכים היפותטיים)

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

דוגמה לארכיטקטורת RAG פשוטה: מסד נתונים וקטורי

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

הנה פירוט התהליך שלב אחר שלב:

  1. כמויות גדולות של טקסט מומרות לווקטורים באמצעות צינור קליטה אוטומטי ומודל הטמעה כמו BERT.
  2. אפליקציית מסד הנתונים מארגנת את הווקטורים, יוצרת להם אינדקס ומאחסנת אותם לחיפוש מהיר.
  3. המשתמש מזין הנחיה בצ׳אטבוט (כמו Perplexity).
  4. המתזמר של האפליקציה מקודד את ההנחיה (באמצעות מודל הטמעה) כדי לאחזר מידע רלוונטי ממסד הנתונים הווקטורי.
  5. מסד הנתונים הווקטורי מחזיר מקטעים רלוונטיים, והמתזמר מוסיף אותם להקשר הקלט ("ההנחיה הגדולה") ומזין אותו ל-LLM.
  6. ה-LLM משתמש בהקשר הנוסף כדי ליצור תשובה תוך שימוש בידע הפנימי שלו (המאוחסן במשקלים הפרמטריים שלו).

דוגמה לארכיטקטורת RAG מתקדמת: RAG מבוסס סוכנים

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

הנה דוגמה מעשית לתהליך:

  1. משתמש מזין שאלה מורכבת שמחייבת מחקר מעמיק בנושא מסוים. לצורך הדוגמה, נניח שההנחיה היא "ספק תחזית לרווחי החברה בששת החודשים הקרובים לאור פעילות גיאופוליטית משמעותית."
  2. ה-LLM מסיק שיידרש שילוב של שאילתות RAG על פני סוגי תוכן שונים.
  3. שלושה סוכנים שונים מופעלים עבור (א) חיפוש וקטורי, (ב) עיגון באמצעות חיפוש באינטרנט ו-(ג) חיפוש תמונות (מולטימודלי).
  4. הסוכנים מחפשים מידע רלוונטי, כמו כתבות חדשותיות ונתונים פיננסיים פנימיים, דרך המתזמר ובאמצעות כלי האחזור הזמינים.
  5. ה-LLM משווה את התוצאות שאוחזרו לשאלת המחקר של כל סוכן ומדרג אותן לפי רלוונטיות.
  6. ה-LLM מעריך את המידע ומפעיל חיפושים נוספים באמצעות סוכנים בודדים במקומות שבהם חסר מידע.
  7. לאחר שאוחזר מספיק מידע, ה-LLM מפיק תחזיות לתרחישים שונים על סמך נתונים פיננסיים קיימים (שאוחזרו מתיעוד פנימי) ומפעיל כלי מחשבון כדי לחזות את הרווחים בכל תרחיש.
  8. ה-LLM מפיק תשובה סופית על סמך המידע שאוחזר והחישובים, תוך ציון מקורות לפי הצורך.

מה צופן העתיד ל-RAG?

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

הנה שלוש מגמות שמעצבות כיום את כיוון המחקר:

  • מחקר מעמיק על פני מקורות מרובים: זוהי ארכיטקטורת RAG שמסוגלת לתכנן חיפושים, להריץ כמה ענפים על פני מקורות מגוונים, להעריך ראיות שאוחזרו ולבצע אופטימיזציה עצמית של התשובות שנוצרו. RAG מבוסס סוכנים שמסוגל לבצע את כל המשימות האלה הולך ונעשה מהיר וחסכוני יותר.
  • יישומים מולטימודליים: צינורות אחזור משתפרים בעבודה עם תמונות ווידאו. הם מסוגלים יותר ויותר לאתר במדויק סוגי מידע ספציפיים בנתונים מולטימודליים מורכבים, כמו סרטונים ארוכים ותרשימים מתקדמים.
  • עיגון תשובות במידע שמשתנה ללא הרף: אפליקציות מבוססות LLM יכולות להסתמך על מקורות מידע חיים (כמו שידורי וידאו וחיישנים) כדי לספק הקשר קלט. מערכות יכולות גם ליצור רשתות מידע רב-ממדיות, כמו ב-GraphRAG, כדי לפרש את הנתונים האלה.

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

זו הסיבה שמערכות RAG והארכיטקטורה שבבסיסן הן אחד התחומים המתפתחים והמרתקים ביותר במחקר ה-AI.