כדאי לשדרג את החיפוש באתר: תשובות לפי הקשר בעזרת בינה מלאכותית גנרטיבית

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

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

דוגמה נפוצה לשימוש היא מתן ממשק משופר למשתמשים לשליחת שאלות לגבי תוכן האתר. בעזרת למידת מכונה תוכלו לשפר באופן משמעותי את תוצאות החיפוש של המשתמשים.

אפשר ליצור ממשק שבו המשתמשים כותבים את השאלה שלהם, ולאחר מכן היא נשלחת למודל שפה גדול (LLM), כמו Gemini, ואז מוצגות התשובות למשתמשים.

נניח שתכונה כזו הייתה קיימת באתר הזה. משתמש רוצה לדעת אילו ממשקי API כלולים ב-Interop 2024, והוא מזין את השאילתה הבאה:

What are the features included in Interop 24?

לצערנו, סביר להניח שהפלט יהיה שגוי מכמה סיבות:

  • המשתמש סיפק ל-LLM מעט הקשר לשאלה, ולכן יש סיכוי גבוה יותר שה-LLM יחזיר תשובות שגויות או הזיות.
  • סביר להניח שה-LLM אומן לפני יצירת Interop 2024 או לפני שהחליטו על התכונות שלו, ולכן הוא לא מודע למידע הזה.

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

שימוש בהנדסת הנחיות

הנדסת הנחיות היא קבוצה של טכניקות שמאפשרות לקבל את הפלט הטוב ביותר מ-LLM.

אחת מהשיטות היא לספק הקשר נוסף בהנחיה, כדי להגדיל את הסיכוי שה-LLM יפיק תוכן שקשור להקשר.

בהמשך לדוגמה של Interop, השלב הראשון הוא לספק את התוכן המלא של המאמר כרקע. לאחר מכן מוסיפים את השאלה כקלט ל-LLM כדי לתת תשובה. לדוגמה:

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

הפלט הצפוי מ-Gemini נראה בערך כך:

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

סביר להניח שהתשובה הזו תהיה הרבה יותר טובה מאשר תשובה להנחיה ללא הקשר, כי התשובה מבוססת על ההקשר שסיפקתם.

התרחבות בעזרת RAG

לדוגמה, במקום לענות על שאלה לגבי מאמר יחיד, אנחנו רוצים שה-LLM יענה על שאלות נוספות לגבי web.dev, תוך שימוש בכל מאמר כהקשר נוסף. יכול להיות שזה אפשרי באתרים קטנים יותר, אבל מכיוון שחלון ההקשר של Gemini 1.5 הוא מיליון אסימונים, הפעלת הנחיות גדולות יותר איטית יותר ויקרה יותר.

אורך הקלט והפלט של מודלים גדולים של שפה (LLM) נמדדים ומחויבים באסימונים, שהם דרך לייצג רצף נפוץ של תווים שנמצאים בקלט טקסט. בדרך כלל, מספר האסימונים יהיה גדול יותר ממספר המילים. לדוגמה, הקלט בדוגמה הראשונה כלל 775 מילים, שמיוצגות על ידי 1,097 אסימונים. מודלים שונים של שפה גדולה עשויים לחשב אסימונים באופן שונה, ורובם מספקים API או נקודת קצה לחישוב מספר האסימונים של קלט טקסט.

פתרון אחד הוא לספק ל-LLM כתבות שרלוונטיות להנחיה. המשימה הזו צריכה להתחלק לשני חלקים:

  1. מוסיפים את התוכן של המאמרים המובילים כהקשר כשמפעילים את ה-LLM.
  2. מחפשים בתוכן מאמרים שקשורים לשאלה "מהן התכונות שכלולות ב-Interop 2024?".

אנחנו רוצים שתוצאות Gemini יחזירו תוכן על סמך המאמרים הבאים:

הקלט אמור להיראות כך:

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

ההקשר הזה יוצר את הפלט הצפוי.

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

לאנשים שמכירים שיטות של AI, הגישה הזו מבוססת על RAG, שיטה נפוצה לשיפור הסבירות לקבלת תשובות אמיתיות מכלים של AI גנרטיבי.

אפשר להשתמש בשיטת RAG בחיפוש טקסט מלא רגיל, אבל יש לה חסרונות.

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

חיפוש סמנטי הוא טכניקה לשיפור הדיוק של החיפוש, שמתמקדת בהיבטים המרכזיים הבאים:

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

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

בשלב הזה, אפשר להטמיע שני כלים לחיפוש שמשתמשים בחיפוש סמנטי: Vertex AI Search ו-Algolia AI Search.

איך משיבים לשאלות באמצעות תוכן שפורסם

למדתם איך להשתמש בתכנון הנחיות כדי לאפשר ל-LLM לספק תשובות שקשורות לתוכן שהוא מעולם לא ראה, על ידי הוספת הקשר להנחיה. בנוסף, למדתם איך להתאים את הגישה הזו ממאמרים בודדים לקובץ תוכן שלם באמצעות השיטה יצירה עם שיפור על סמך אחזור (RAG). למדתם איך חיפוש סמנטי יכול לשפר עוד יותר את התוצאות של שאילתות החיפוש של המשתמשים, וכך להטמיע בצורה טובה יותר את RAG במוצר שלכם.

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