מאגר הדוגמאות מאפשר לאחסן פרומפט עם כמה דוגמאות (few-shot) ולאחזר אותן באופן דינמי. דוגמאות של פרומפטים עם כמה דוגמאות (few-shot) מאפשרות להדגים למודל LLM את דפוסי התשובות הצפויים, כדי לשפר את האיכות, הדיוק והעקביות של התשובות שלו לשאילתות דומות.
מהן דוגמאות פרומפט עם כמה דוגמאות (few-shot)?
דוגמה לפרומפט עם כמה דוגמאות (few-shot) היא נתונים מתויגים שספציפיים לתרחיש לדוגמה של ה-LLM. הוא כולל צמד של קלט ופלט שמדגים את התגובה הצפויה של המודל לבקשה. אתם יכולים להשתמש בדוגמאות כדי להדגים את ההתנהגות או את דפוס התגובה שאתם מצפים לקבל ממודל ה-LLM.
אם תשתמשו רק בכמה דוגמאות רלוונטיות, תוכלו לכסות קבוצה גדולה יותר של תוצאות אפשריות, התנהגות רצויה וקלט של משתמשים, בלי להגדיל את הגודל או המורכבות של ההנחיות. כדי לעשות את זה, צריך לכלול רק דוגמאות רלוונטיות (להפחית את מספר הדוגמאות) ו "להראות במקום להסביר" את ההתנהגות הרצויה.
שימוש בפרומפט עם כמה דוגמאות (few-shot) הוא סוג של למידה לפי הקשר. דוגמה מציגה דפוס ברור של קלט ופלט, בלי להסביר איך המודל יוצר את התוכן. אתם יכולים לכסות יותר תוצאות אפשריות או שאילתות של משתמשים באמצעות מספר קטן יחסית של דוגמאות, בלי להגדיל את גודל ההנחיה או את מורכבות הקוד. השימוש בדוגמאות לא כולל עדכון של הפרמטרים של המודל שעבר אימון מראש, ולא משפיע על היקף הידע של ה-LLM. לכן, למידה לפי הקשר עם דוגמאות היא גישה קלה ותמציתית יחסית להתאמה אישית, לתיקון או לשיפור של החשיבה והתגובה של LLM להנחיות שלא נראו קודם.
כשאתם אוספים דוגמאות רלוונטיות שמייצגות את השאילתות של המשתמשים, אתם עוזרים למודל לשמור על תשומת הלב, להדגים את הדפוס הצפוי וגם לתקן התנהגות שגויה או לא צפויה. הפעולה הזו לא משפיעה על בקשות אחרות שמניבות את התגובות הצפויות.
כמו כל האסטרטגיות של הנדסת פרומפטים, השימוש בפרומפט עם כמה דוגמאות (few-shot) הוא תוספת לטכניקות אחרות של אופטימיזציה של LLM, כמו כוונון עדין או RAG.
איך משתמשים בחנות לדוגמה
השלבים הבאים מתארים איך אפשר להשתמש ב-Example Store:
יוצרים או משתמשים מחדש במשאב
ExampleStore, שנקרא גם "מכונה של חנות לדוגמה".- בכל אזור ופרויקט, אפשר ליצור עד 50 מכונות של Example Store.
לכתוב ולהעלות דוגמאות שמבוססות על תשובות של מודלים גדולים של שפה (LLM). יש שני תרחישים אפשריים:
אם ההתנהגות ודפוס התגובה של ה-LLM הם כצפוי, כותבים דוגמאות על סמך התגובות האלה ומעלים אותן למכונה של Example Store.
אם ה-LLM מציג דפוסי התנהגות או תגובה לא צפויים, כותבים דוגמה שממחישה איך לתקן את התגובה, ואז מעלים אותה למופע של מאגר הדוגמאות.
הדוגמאות שמעלים זמינות באופן מיידי לנציג או לאפליקציית ה-LLM שמשויכים למכונה של Example Store.
אם נציג שמבוסס על ערכת הפיתוח של הנציג (ADK) מקושר למכונה של Example Store, הנציג מאחזר באופן אוטומטי את הדוגמאות וכולל אותן בבקשת ה-LLM.
בכל שאר האפליקציות של מודלי LLM, צריך לחפש ולאחזר את הדוגמאות, ואז לכלול אותן בהנחיות.
אתם יכולים להמשיך להוסיף דוגמאות באופן איטרטיבי למופע של מאגר דוגמאות בכל פעם שאתם מבחינים בביצועים בלתי צפויים של ה-LLM, או נתקלים בשאילתות משתמשים בלתי צפויות או כאלה שמיועדות להכשיל את המודל. אין צורך לעדכן את הקוד או לפרוס מחדש גרסה חדשה של אפליקציית ה-LLM. הדוגמאות יהיו זמינות לנציג או לאפליקציה ברגע שתעלו אותן למכונה של Example Store.
בנוסף, אתם יכולים:
אחזור דוגמאות על ידי ביצוע חיפוש דמיון קוסינוס בין מפתחות החיפוש של הדוגמאות המאוחסנות לבין אלה שבשאילתה.
מסננים את הדוגמאות לפי שם הפונקציה ומצמצמים את רשימת הדוגמאות האפשריות לאלה שמייצגות את התשובות האפשריות מה-LLM.
לשפר את הסוכן או את אפליקציית ה-LLM באופן הדרגתי.
לשתף דוגמאות עם כמה סוכנים או אפליקציות של מודלי שפה גדולים (LLM).
הנחיות ליצירת דוגמאות לפרומפטים עם כמה דוגמאות (few-shot)
ההשפעה של הדוגמאות על ביצועי המודל תלויה בסוגי הדוגמאות שכלולות בהנחיות ובאופן שבו הן כלולות.
אלה שיטות מומלצות כלליות ליצירת דוגמאות:
רלוונטיות ודמיון: הדוגמאות צריכות להיות קשורות באופן הדוק למשימה או לתחום הספציפיים. כך המודל יכול להתמקד בהיבטים הכי רלוונטיים של הידע שלו, להפחית את השימוש בטוקנים ולשמור על הביצועים או אפילו לשפר אותם. אם הדוגמאות רלוונטיות לשיחה, צריך פחות דוגמאות. מאגר הדוגמאות הזמינות צריך לייצג את השאילתות האפשריות של המשתמשים. בנוסף, הדוגמה צריכה להיות רלוונטית לשאילתה של המשתמש.
מורכבות: כדי לעזור ל-LLM לפעול טוב יותר, השתמשו בדוגמאות ברמת מורכבות נמוכה כדי להדגים את החשיבה הצפויה.
ייצוג של התוצאות האפשריות של המודל: התשובות הצפויות בדוגמה צריכות להיות עקביות עם התוצאה האפשרית. כך הדוגמה יכולה להדגים בצורה ברורה את החשיבה שתואמת לחשיבה הצפויה מה-LLM בתגובה להנחיה.
פורמט: כדי לקבל את הביצועים הכי טובים, כדאי להשתמש בפורמט של דוגמאות להנחיה עם כמה דוגמאות (few-shot) שתואם לנתוני האימון של ה-LLM, ושונה מהיסטוריית השיחות. הפורמט של הדוגמאות בהנחיה יכול להשפיע באופן משמעותי על הביצועים של ה-LLM.
תרחיש לדוגמה: קריאה להפעלת פונקציות
כדי לשפר את הביצועים של קריאה להפעלת פונקציות, אתם יכולים להשתמש בדוגמאות של פרומפטים עם כמה דוגמאות (few-shot).
אתם יכולים לציין את הקריאה הצפויה להפעלת פונקציה לשאילתת משתמש בתבנית עקבית. הדוגמה יכולה להמחיש את התשובה הצפויה לבקשה, כולל הפונקציה שצריך להפעיל והארגומנטים שצריך לכלול בקריאה להפעלת הפונקציה. נניח שיש תרחיש לדוגמה שבו הפונקציה get_store_location מחזירה את המיקום של חנות ואת התיאור שלה. אם שאילתה לא מפעילה את הפונקציה הזו כמו שצריך או מציגה פלט לא צפוי, אתם יכולים להשתמש בדוגמאות של פרומפטים עם כמה דוגמאות (few-shot) כדי לתקן את ההתנהגות הזו בשאילתות הבאות.
מידע נוסף על קריאה להפעלת פונקציות זמין במאמר קריאה להפעלת פונקציות.
מידע נוסף זמין במאמר מדריך למתחילים: חנות לדוגמה.