טכניקות RAG מתקדמות הן לא טובות יותר. הן טובות יותר לעיתים.
טכניקות RAG מתקדמות אינן שדרוגים בחינם. הן כלים הכרוכים בפשרות (trade-offs).
הוספתי חמש טכניקות שליפה (retrieval) ל-pipeline של RAG כדי לבחון אותן. התוצאה החשובה ביותר הייתה הטכניקה שנכשלה.
ציפיתי ש-HyDE ישפר את השליפה. במקום זאת, הוא הניב תוצאות הפוכות בשאילתות מסוימות. ה-Recall ירד מ-0.80 ל-0.17. הטכניקה לא רק נכשלה בסיוע; היא למעשה משכה נתונים שגויים לתוך התוצאות.
כל טכניקה מתקדמת שבדקתי עובדת כך:
- Hybrid search (BM25 + dense): מצוין למונחים מדויקים. השתמשו בו כאשר השאילתה שלכם נשענת על פרמטרים ספציפיים.
- HyDE: מצוין לשאלות יומיומיות שאינן תואמות את אוצר המילים של המסמכים. הוא נכשל כאשר השאילתה כבר תואמת היטב את הקורפוס (corpus).
- Reranking: מצוין כאשר ה-chunk הנכון נמצא בתוצאות אך מופיע נמוך מדי ברשימה.
- Contextual retrieval: מצוין עבור chunks קצרים שחסר להם הקשר. זה מוסיף עלות מכיוון שעליכם להשתמש ב-LLM עבור כל chunk.
בניתי את ה-pipeline הזה באמצעות התיעוד של Anthropic. השתמשתי ב-Postgres עם pgvector ובאינדקס HNSW. התייחסתי לזה כמו למהנדס backend. לא שאלתי אם טכניקה מסוימת היא ה-state of the art; שאלתי אם היא מצדיקה את המורכבות שלה.
כל רכיב שאתם מוסיפים הוא משהו שעליכם להפעיל, לדבג ולשלם עליו.
לפני שהוספתי כלים מורכבים, מדדתי baseline באמצעות שליפה צפופה (dense retrieval) פשוטה.
התוצאות הראו שני מדדים שונים:
- Faithfulness: 0.96
- Context precision: 0.60
הנתונים האלו שינו את כל הגישה שלי. רוב הטכניקות מכוונות לשליפה (retrieval). השליפה שלי הייתה החלק שנכשל. אם ה-faithfulness היה נמוך, הייתי מכוונן (tuning) את ה-prompts. מכיוון שהשליפה הייתה נמוכה, הייתי צריך לכונן את החיפוש.
למדתי גם שיעור לגבי כלי הערכה. ניסיתי להשתמש ב-Ragas, אבל הוא היה איטי מדי. הוא היה מנסה שוב קריאות שנכשלו ולוקח שעות. במקום זאת, בניתי async harness משלי. הרצתי את אותם מדדים ב-221 שניות במקום ב-11 שעות.
השורה התחתונה היא פשוטה:
אל תיישמו טכניקות באופן עיוור. השתמשו ב-query router כדי לבחור את המצב הנכון לשאלה הנכונה. מדדו את הנתונים שלכם תחילה. לאחר מכן, בחרו את הכלי שפותר את אופן הכישלון הספציפי שלכם.
המודל הוא חדש. המשמעת ההנדסית אינה חדשה.
מקור: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o
