בינה מלאכותית גנרטיבית היא שימוש בבינה מלאכותית ליצירת תוכן חדש, כמו טקסט, תמונות, מוזיקה, אודיו וסרטונים. בינה מלאכותית גנרטיבית מסתמכת על מודל למידת מכונה (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 יפיק תוכן שקשור להקשר.
בהמשך לדוגמה שלנו של פעולה הדדית, השלב הראשון הוא לספק את התוכן המלא של המאמר בתור הקשר. לאחר מכן מוסיפים את השאלה כקלט ל-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 הוא מיליון אסימונים, הפעלת הנחיות גדולות יותר איטית יותר ויקרה יותר.
אורך הקלט והפלט של מודלים גדולים של שפה נמדדים ומחויבים באסימונים, שהם דרך לייצג רצף נפוץ של תווים שנמצאים בקלט טקסט. בדרך כלל, מספר האסימונים יהיה גדול יותר ממספר המילים. לדוגמה, הקלט בדוגמה הראשונה כלל 775 מילים, שמיוצגות על ידי 1,097 אסימונים. מודלים שונים של שפה גדולה עשויים לחשב אסימונים באופן שונה, ורובם מספקים API או נקודת קצה לחישוב מספר האסימונים של קלט טקסט.
פתרון אחד הוא לספק ל-LLM כתבות שרלוונטיות להנחיה. המשימה הזו צריכה להתחלק לשני חלקים:
- מוסיפים את התוכן של המאמרים המובילים כהקשר כשמפעילים את ה-LLM.
- מחפשים בתוכן מאמרים שקשורים לשאלה "מהן התכונות שכלולות ב-Interop 2024?".
אנחנו רוצים שתוצאות Gemini יחזירו תוכן על סמך המאמרים הבאים:
- מאמר 1: web.dev/blog/submit-your-proposals-for-interop-2024
- מאמר 2: web.dev/blog/interop-2023-wrapup
- סעיף 3: web.dev/blog/interop-2024
הקלט אמור להיראות כך:
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" (מוסד פיננסי לעומת "בנק בנק") יכול להוביל לתוצאות לא רלוונטיות.
- חיפוש של טקסט מלא עשוי להפיק תוצאות שמכילות את מילות המפתח, אבל לא מתאימות ליעד המשתמש.
חיפוש סמנטי הוא טכניקה לשיפור הדיוק של החיפוש, שמתמקדת בהיבטים המרכזיים הבאים:
- כוונת המחפש: התוכנה מנסה להבין את הסיבה שבגללה משתמש מחפש משהו. מה הם מנסים למצוא או להשיג?
- משמעות לפי הקשר: הפרשנות של מילים וביטויים ביחס לטקסט שמקיף אותם, וגם גורמים אחרים כמו המיקום של המשתמש או היסטוריית החיפושים שלו.
- הקשר בין מושגים: החיפוש הסמנטי משתמש בתרשימי ידע (רשתות גדולות של ישויות קשורות) ובעיבוד שפה טבעית (NLP) כדי להבין את הקשר בין מילים ורעיונות.
כתוצאה מכך, כשאתם יוצרים כלים עם חיפוש סמנטי, תוצאת החיפוש מבוססת על המטרה הכוללת של השאילתה, במקום על מילות מפתח. כלומר, הכלי יכול לזהות מסמכים רלוונטיים גם אם מילת המפתח המדויקת לא מופיעה בהם. כך אפשר גם למנוע תוצאות שבהן המילה מופיעה, אבל יש לה משמעות שונה.
בשלב הזה, אפשר להטמיע שני כלים לחיפוש שמשתמשים בחיפוש סמנטי: Vertex AI Search ו-Algolia AI Search.
שליפת תשובות מהתוכן שפורסם
למדתם איך להשתמש בתכנון הנחיות כדי לאפשר ל-LLM לספק תשובות שקשורות לתוכן שהוא מעולם לא ראה, על ידי הוספת הקשר להנחיה. בנוסף, למדתם איך להתאים את הגישה הזו ממאמרים בודדים לקובץ תוכן שלם באמצעות השיטה יצירה שמועשרת על ידי אחזור (RAG). למדתם איך חיפוש סמנטי יכול לשפר עוד יותר את התוצאות של שאילתות החיפוש של המשתמשים, וכך להטמיע בצורה טובה יותר את RAG במוצר שלכם.
אחת הבעיות הידועות היא שכלים של בינה מלאכותית גנרטיבית עלולים "להזין". המצבים הכי טובים, לפעמים לא מהימנים או במקרה הגרוע ביותר, עלולים להזיק לעסק באופן פעיל. בעזרת השיטות האלה, גם המשתמשים וגם המפתחים יכולים לשפר את האמינות, ואולי גם לבנות אמון בתוצרים של האפליקציות האלה.