צ'אטבוטים מבוססי בינה מלאכותית – הקדמה
צ'אטבוטים מבוססי בינה מלאכותית (AI) הפכו לכלי מרכזי בשיפור שירות הלקוחות והנגשת מידע בצורה מהירה ויעילה. במיוחד בפלטפורמות כמו WhatsApp, צ'אטבוטים מאפשרים לעסקים לספק מענה מיידי וזמין ללקוחותיהם.
לאחרונה השקנו מערכת באמצעותה ארגונים יכולים ליצור ולנהל צ'אטבוטים מסוגים שונים, גם מבוססי חוקים וגם מבוססי בינה מלאכותית.
כאשר מגדירים צ'אטבוט מבוסס AI אנו מאפשרים להעלות למערכת בלחיצת כפתור מקור מידע שעליו יתבסס הצ'אטבוט במענה לשאלות הלקוחות.
לעיתים מקור מידע הוא קובץ קצר עם שאלות ותשובות נפוצות ולעיתים מדובר על עשרות או מאות רבות של מידע טקסטואלי ייחודי לארגון. כאשר מדובר בקובץ קצר אפשר פשוט לתת למודל ה-AI את כלל המידע הקיים, לשאול שאלות ולקבל תשובות מדויקות אך מה עושים כאשר מדובר בעשרות רבות של עמודים המכילים מידע טכני? למרבית המודלים יש מגבלה על כמות הקונטקסט אשר הם יכולים להכיל ובנוסף ככל שמזינים את המודל ביותר מידע שאינו רלוונטי כך המודל ישיב לאט יותר וברמת דיוק נמוכה יותר.
בדיוק לשם כך פיתחנו אפשרות לניהול מקורות מידע במערכת הצ'אטבוטים המתבססים על עקרונות RAG (Retrieval-Augmented Generation). מדובר בתהליך שמטרתו לאפשר למודלי שפה כגון GPT או Claude להתבסס על החלקים הרלוונטיים מתוך מקורות מידע גדולים וזאת בהתאם לשאלות הספציפיות של המשתמש.
מטרתו של מאמר זה להסביר את התהליכים הטכנולוגיים אשר אנו מבצעים על מנת "לאמן" מודל AI מתקדם על בסיס המידע הייחודי של כל ארגון ומאפשרים לנו להנגיש את הטכנולוגיה המתקדמת ביותר בעולם בתחום שירות הלקוחות גם לעסקים קטנים ובינוניים בישראל.
הוספת מקור מידע לצ'אטבוט
כאשר אתם מוסיפים לצ'אטבוט מקור מידע, כגון קובץ PDF או קישור למרכז התמיכה שלכם, התהליך מתבצע בשלבים הבאים:
- פירוק המידע לחלקים קטנים (Chunking): המערכת מחלקת את התוכן למקטעים קטנים, בדרך כלל בני כמה מאות מילים. זה מאפשר לצ'אטבוט לאחזר מידע ספציפי וממוקד בעת הצורך.
- הוספת קונטקסט ייחודי: אנו מנתחים את מקור המידע הכולל ומוסיפים לכל צ'אנק קטע טקסט קצר נוסף אשר מתאר את תוכנו של הצ'אנק כחלק מההקשר הכולל של מקור המידע.
- יצירת ייצוגים מספריים (Embedding): כל מקטע מתורגם לייצוג מספרי ייחודי הנקרא "אמבדינג". זהו וקטור (מערך מספרים) המתאר את המשמעות הסמנטית של הטקסט, ומאפשר למערכת להבין את התוכן ברמה עמוקה יותר.
- אחסון מאגר נתונים: האמבדינגים נשמרים במסד נתונים ייעודי, המאפשר חיפוש מהיר ויעיל של מידע רלוונטי בעת הצורך.
בסופו של תהליך זה נוצר מסד נתונים המתבסס על מקור המידע, אשר מחולק למקטעים קטנים הכוללים פסקה נוספת שנותנת הקשר רחב יותר לכל פסקה.

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

דוגמה – מכירת ציוד לבית הספר
נניח שיש לכם עסק למכירת ציוד לבית הספר, ועל מנת לספק מענה איכותי ללקוחות הפונים לעסק העליתם קובץ PDF עם קטלוג הכולל מאות מוצרים, מפרטים, מחירים, תנאי התקשרות ומדיניות החזרות. אחד הלקוחות שלכם כותב לצ'אטבוט בוואטסאפ:
"קניתי ילקוט לפני שבוע, אבל הילד לא אוהב אותו. האם אני עדיין יכול להחזיר?"
הצ'אטבוט שלנו, במקום לשלוף תשובה ישנה מהזיכרון שלו או להמציא תשובה כללית, פועל כך:
- הוא מתרגם את השאלה לייצוג מספרי (אמבדינג) כדי להבין את הכוונה.
- הוא מבצע חיפוש במסד הנתונים ומוציא את המקטעים הרלוונטיים לשאלת המשתמש, במקרה הזה את מדיניות ההחזרות.
- הוא מוצא שם פסקה שמתאימה בדיוק לשאלה הזאת (למשל: "ניתן להחזיר מוצרים עד 14 יום מיום הקנייה, באריזה מקורית ועם חשבונית").
- הוא כותב ללקוח תשובה ברורה:
"כן, אפשר להחזיר את הילקוט תוך 14 ימים מהקנייה, כל עוד הוא באריזה המקורית ועם חשבונית."
התשובה מבוססת על המידע שהעסק עצמו סיפק, אבל מוגשת בשפה טבעית, נעימה וברורה – בדיוק כמו שהיינו רוצים לקבל מענה מבן אדם.

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