הוצאתי 500$ על תשתית RAG לפני שעשיתי 7 טעויות

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

ביצעתי audit ל-pipeline ומצאתי 7 טעויות נפוצות. התיקון שלהן שינה הכל.

  1. חלוקה לקטעים (Chunking) לפי מספר טוקנים קבוע חילקתי מסמכים לפי כמות טוקנים קבועה. זה הרס את ההקשר. משפט היה מתפצל באמצע. ה-LLM קיבל נתונים מקוטעים ונתן תשובות גרועות.
  • התיקון: שימוש ב-semantic chunking עם parent-document retrieval.
  • חלוקה לפי גבולות טבעיים כמו פסקאות או כותרות.
  • יצירת child chunks קטנים לחיפוש.
  • החזרת ה-parent document המלא ל-LLM כאשר מתרחשת התאמה.
  • הוספת 10-20% חפיפה (overlap) בין הקטעים.
  1. משקלי חיפוש ברירת מחדל השתמשתי בחלוקה של 50/50 בין vector search ל-keyword search. במסמכים טכניים, מילות מפתח מדויקות חשובות יותר.
  • התיקון: שימוש במשקלים דינמיים.
  • שאילתות עובדתיות: 35% vector, 65% keyword.
  • שאילתות סמנטיות: 75% vector, 25% keyword.
  1. אופטימיזציה יתר של פרמטרי HNSW הגדרתי את ef_construction לערך המקסימלי. באינדקס גדול, זה גרם לקריסת השרת שלי וצרך את כל ה-RAM שלי.
  • התיקון: שימוש בהגדרות HNSW מתאימות.
  • שמירה על M בין 8 ל-32.
  • הגדרת ef_construction ל-200.
  • הגדרת ef_search ל-50.
  1. מודלי Embedding לא מתאימים השתמשתי במודל כללי שאומן על טקסט מהאינטרנט. הוא לא הבין את המסמכים ההנדסיים הטכניים שלי.
  • התיקון: מעבר למודל שעבר fine-tuning לתוכן טכני או קוד.
  1. חוסר התאמה בשפה טבעית משתמשים שואלים שאלות כמו "why is my build slow". התיעוד משתמש במונחים כמו "CI pipeline optimization". לא הייתה שום חפיפה.
  • התיקון: הוספת שלב של LLM query rewrite.
  • כתיבה מחדש של שאילתת המשתמש למונחים טכניים לפני החיפוש.
  1. הקשר (Context) מיותר שליפת 10 הקטעים המובילים פירושה היה לעיתים קרובות לקבל את אותה פסקה שלוש פעמים. זה גרם להזיות (hallucinations).
  • התיקון: שימוש ב-Maximal Marginal Relevance (MMR) כדי להבטיח גיוון בתוצאות.
  1. הערכה מקצה לקצה בלבד בדקתי רק את התשובה הסופית. לא ידעתי אם הבעיה הייתה בשליפה (retrieval) או ב-LLM.
  • התיקון: הערכת השליפה בנפרד.
  • מעקב אחר hit rate ו-Mean Reciprocal Rank (MRR).
  • בניית סט בדיקה של 100 זוגות שאילתה-מסמך.

תוצאות לאחר התיקונים: • רלוונטיות התשובה: 45% ל-85% • שיהוי שאילתה (latency): 3.2s ל-1.8s • עלות חודשית: $180 ל-$95

תקן קודם את ה-chunking. אחר כך את המשקלים. ואז את איכות ה-embedding.

מהו ה-RAG headache הכי גדול שלכם? ספרו לי בתגובות.

מקור: https://dev.to/kollittle/i-spent-500-on-rag-infrastructure-before-realizing-these-7-mistakes-were-killing-my-results-iph

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi_