שיטות Chunking שונות עבור RAG

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

אם אתם משתמשים ב-Retrieval-Augmented Generation (RAG), ה-chunking הוא חיוני. RAG מספק למודלים מקור אמת (source of truth) כדי למנוע הזיות (hallucinations). אתם הופכים טקסט למספרים הנקראים embeddings ואוגרים אותם במסד נתונים וקטורי (vector database).

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

להלן חמש דרכים לבצע chunking לנתונים שלכם:

  • Fixed-Size Chunking שיטה זו מחלקת את הטקסט לפי מספר קבוע של תווים. היא מהירה וזולה. עם זאת, היא אינה מבינה הקשר (context). היא לעיתים קרובות קוטעת משפטים באמצע.

  • Recursive Character Splitting זהו הסטנדרט בתעשייה. השיטה משתמשת בהיררכיה של מפרידים כמו שורות חדשות ורווחים. היא מנסה לשמור משפטים קשורים יחד בבלוק אחד. השתמשו בזה עבור מאמרים כלליים.

  • Document-Specific Chunking שיטה זו בוחנת את המבנה של הקובץ שלכם. היא משתמשת בתגיות HTML או בכותרות Markdown כדי למצוא גבולות. זה שומר על קוד או על סעיפים ספציפיים שלמים.

  • Semantic Chunking שיטה זו בוחנת משמעות במקום תווים. היא מקבצת משפטים הדנים באותו נושא. היא יוצרת מקטעים (chunks) שמתמקדים בנושא אחד. היא דורשת מודל embedding כדי לפעול.

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

השוואה מהירה:

• Fixed-Size: הכי טוב לאבות-טיפוס (prototypes). קל מאוד. עלות $0. • Recursive: הכי טוב לטקסט כללי. קל. עלות $0. • Document: הכי טוב לקוד או ל-HTML. רמת קושי בינונית. עלות $0. • Semantic: הכי טוב למחקר מעמיק. קשה. עלות נמוכה. • Agentic: הכי טוב לדיוק גבוה. קשה מאוד. עלות גבוהה.

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

מקור: https://dev.to/yashbhoskar/different-chunking-methods-for-rag-j4g

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