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

הפתרון של אנתרופיק: Contextual Retrieval

כעת, אנתרופיק (Anthropic) חושפת שיטה חדשנית בשם Contextual Retrieval, שמטרתה לשפר באופן דרמטי את שלב השליפה ב-RAG. השיטה משתמשת בשתי תתי-טכניקות: Contextual Embeddings ו-Contextual BM25. הניסויים של אנתרופיק מראים כי שיטה זו יכולה להפחית את מספר כשלי השליפה ב-49%, ובשילוב עם reranking, עד 67%. שיפורים אלה משקפים קפיצת מדרגה משמעותית בדיוק השליפה, שמתורגמת ישירות לביצועים עדיפים במגוון משימות. ניתן לפרוס פתרון זה בקלות עם Claude באמצעות ה-Cookbook הייעודי של אנתרופיק.

Contextual Retrieval פותרת את בעיית הקשר החסר על ידי הוספת הקשר הסבר ייחודי לכל "חתיכת" מידע (chunk) לפני יצירת ה-embedding או אינדקס ה-BM25. אנתרופיק מנצלת את Claude 3 Haiku באמצעות פרומפט מיוחד, המנחה את המודל לספק הקשר תמציתי וספציפי לחתיכה, המסביר אותה על בסיס המסמך השלם. טקסט הקשרי זה, באורך 50-100 טוקנים לרוב, מצורף לחתיכה המקורית. דוגמה לפרומפט ששימש ליצירת הקשר זה:

<document>
{{WHOLE_DOCUMENT}}
</document>
Here is the chunk we want to situate within the whole document
<chunk>
{{CHUNK_CONTENT}}
</chunk>
Please give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else.

השילוב עם תכונת Prompt Caching של Claude הופך את Contextual Retrieval לפתרון משתלם במיוחד. במקום להעביר את מסמך הייחוס המלא עבור כל חתיכה, ניתן לטעון את המסמך למטמון (cache) פעם אחת בלבד ולגשת אליו אחר כך. תכונה זו מביאה להפחתה של למעלה מ-90% בעלויות ופי 2.5 במהירות, מה שהופך את יצירת החתיכות עם הקשר למשימה חסכונית במיוחד.

שילוב עם Reranking לביצועים אולטימטיביים

לצד Contextual Retrieval, אנתרופיק מדגישה את החשיבות של Reranking – טכניקת סינון מתקדמת שמבטיחה שרק חתיכות המידע הרלוונטיות ביותר יועברו למודל לאחר שלב השליפה הראשוני. שילוב של Contextual Embeddings ו-Contextual BM25 עם שלב Reranking מפחית את שיעור כשלי השליפה של 20 החתיכות המובילות ב-67% (מ-5.7% ל-1.9%). למרות שה-Reranking מוסיף צעד נוסף בזמן הריצה, הוא משפר משמעותית את איכות התגובות ומפחית את העלות הכוללת על ידי עיבוד פחות מידע.

לסיכום, אנתרופיק מצאה ששילוב של Embeddings עם BM25, הוספת הקשר לחתיכות מידע (Contextual Retrieval), וביצוע Reranking, יחד עם העברת 20 החתיכות המובילות לפרומפט, מביא לביצועים מיטביים. החברה מעודדת מפתחים להתנסות בגישות אלו באמצעות ה-Cookbook שלה, כדי לפתוח רמות חדשות של ביצועים ביישומים מבוססי ידע.