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

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

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

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

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

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

What are the features included in Interop 24?

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

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

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

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

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

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

בהמשך לדוגמה של יכולת הפעולה ההדדית, השלב הראשון הוא להציג את כל התוכן של המאמר כהקשר. לאחר מכן, מוסיפים את השאלה בתור הקלט שה-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 מילים, מיוצגות על ידי 1097 אסימונים. מודלים מסוג LLM שונים עשויים לחשב אסימונים באופן שונה, ורובם מספקים API או נקודת קצה (endpoint) לחישוב מספר האסימונים לקלט טקסט.

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

  1. מוסיפים את התוכן של כתבות מובילות כהקשר כשיוצרים את ה-LLM.
  2. חפשו בתוכן הזה מאמרים הקשורים ל-"What are the features included in 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, שיטה נפוצה לשיפור הסבירות לקבלת תשובות אמיתיות מכלים של בינה מלאכותית גנרטיבית.

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

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

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

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

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

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

לשלוף תשובות מתוכן שפורסם

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

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