כחלק מהחוויה שלכם ב-Retrieval Augmented Generation (יצירה משולבת-אחזור, RAG) בחיפוש באמצעות סוכן, אתם יכולים לבדוק את ההצמדה לקרקע כדי לקבוע עד כמה קטע טקסט (שנקרא מועמד לתשובה) מוצמד לקרקע במערך נתון של טקסטים להשוואה (שנקראים עובדות).
ה-API לבדיקת ביסוס מחזיר ציון תמיכה כולל של 0 עד 1, שמציין עד כמה התשובה האפשרית תואמת לעובדות שסופקו. התשובה כוללת גם ציטוטים של העובדות שתומכות בכל טענה בתשובה האפשרית.
כדי להשיג ביסוס מושלם, כל טענה בתשובה המוצעת צריכה להיות נתמכת על ידי עובדה אחת או יותר מתוך העובדות שסופקו. במילים אחרות, העובדות מובילות באופן מלא למסקנה שמופיעה בהצהרה. אם ההצהרה נכונה רק באופן חלקי, היא לא נחשבת מבוססת. לדוגמה, הטענה 'Google נוסדה על ידי לארי פייג' וסרגיי ברין בשנת 1975' נכונה רק באופן חלקי – שמות המייסדים נכונים אבל התאריך שגוי – ולכן הטענה כולה נחשבת ללא מבוססת. בגרסה הזו של ה-API לבדיקת ביסוס, משפט נחשב כהצהרה אחת.
אתם יכולים להשתמש ב-API לבדיקת ביסוס כדי לבדוק כל קטע טקסט. יכול להיות שזה יהיה תיאור שנוצר על ידי אדם או תשובה שנוצרה על ידי מחשב. תרחיש שימוש אופייני הוא בדיקת תשובה שנוצרה על ידי LLM בהשוואה לקבוצה נתונה של עובדות. ממשק ה-API לבדיקת ההארקה נועד להיות מהיר, עם זמן אחזור של פחות מ-500 אלפיות השנייה. המהירות הזו מאפשרת לבוטים של צ'אט לקרוא ל-API של בדיקת ההצמדה במהלך כל הסקה, בלי לגרום להאטה משמעותית. בנוסף, ה-API לבדיקת ההצמדה יכול לספק הפניות לתמיכה בממצאים שלו, כדי שהמשתמשים יוכלו לדעת אילו חלקים בתשובה שנוצרה הם מהימנים. ה-API גם מספק ציון תמיכה כדי לציין את רמת הדיוק הכוללת של התשובה. הגדרת סף ציטוט מאפשרת לבוטים של צ'אט לסנן בזמן ההסקה תשובות שסביר להניח שהן מכילות טענות הזויות.
בדף הזה מוסבר איך לבדוק את ההצמדה לקרקע באמצעות check grounding API.
הגדרות והסברים של מונחים
לפני שמשתמשים ב-API לבדיקת ביסוס, כדאי להבין את הקלט והפלט, ואיך כדאי לבנות את עובדות הביסוס כדי להשיג את התוצאות הטובות ביותר.
נתוני קלט
הבקשה ל-API לבדיקת ביסוס צריכה לכלול את הקלט הבא.
מועמד לתשובה: מועמד לתשובה יכול להיות כל קטע טקסט שרוצים לבדוק את ההצדקה שלו. לדוגמה, בהקשר של חיפוש מבוסס סוכנים, התשובה האפשרית יכולה להיות סיכום החיפוש שנוצר בתגובה לשאילתה. לאחר מכן, ה-API יקבע עד כמה הסיכום מבוסס על העובדות שהוזנו. אורך מקסימלי של תשובה הוא 4, 096 טוקנים. טוקן מוגדר כמילה במשפט או כנקודה (סימן פיסוק שמציין את סוף המשפט). לדוגמה, המשפט "הם לבשו בגדים מוכנים מראש בשנת 2024" הוא באורך של שבעה טוקנים, כולל שש מילים ונקודה.
עובדות: קבוצה של פלחי טקסט שישמשו כהפניות להארקה. אפשר לספק קבוצה של מאפייני מטא-נתונים (צמדי מפתח/ערך) עם כל פלח טקסט. לדוגמה, 'מחבר' ו'שם' הן מילות מפתח אופייניות של מאפיינים.
השירות תומך בעד 200 עובדות, כל אחת באורך של עד 10,000 תווים.
Google לא ממליצה לספק עובדה אחת גדולה מאוד שמכילה את כל המידע. במקום זאת, אפשר לקבל תוצאות טובות יותר על ידי פיצול עובדות גדולות לעובדות קטנות יותר, והוספת מאפיינים מתאימים לעובדות הקטנות. לדוגמה, אפשר לפצל עובדה גדולה לפי שם, מחבר או כתובת URL, ולספק את המידע הזה במאפיינים.
סף ציטוטים: ערך מסוג float מ-0 עד 1 שקובע את רמת הביטחון לגבי הציטוטים שתומכים בתשובה האפשרית. סף גבוה יותר מצביע על רמת סמך מחמירה יותר. לכן, סף גבוה יותר יניב פחות ציטוטים אבל חזקים יותר.
נתוני פלט
ה-API לבדיקת ביסוס מחזיר את הערכים הבאים לגבי תשובה אפשרית:
ציון התמיכה: ציון התמיכה הוא מספר בין 0 ל-1 שמציין עד כמה תשובה פוטנציאלית מבוססת על קבוצת העובדות שסופקה. הערך הזה הוא קירוב של חלק התלונות במועמד לתשובה שנמצאו מבוססות על עובדה אחת או יותר מהעובדות שצוינו.
קטעי מידע עם ציטוטים: קטעי מידע עם ציטוטים הם חלקים מהעובדות שהוזנו, שתומכים בתשובה האפשרית.
טענות וציטוטים: הטענות והציטוטים מקשרים בין טענה (בדרך כלל משפט) של המועמד לתשובה לבין מקטע אחד או יותר מהציטוטים שמאששים את הטענה.
התביעה מוגדרת באמצעות מיקומי ההתחלה והסיום שלה. אלה מיקומי הבייטים של מחרוזת התביעה בקידוד UTF-8. שימו לב שהאורך לא נמדד במספר התווים, ולכן צריך להציג אותו בממשק המשתמש תוך התחשבות בכך שחלק מהתווים תופסים יותר מבית אחד. לדוגמה, אם הטקסט של התביעה מכיל תווים שאינם ASCII, מיקומי ההתחלה והסיום משתנים כשמבצעים מדידה בתווים (תלוי בשפת התכנות) וכשמבצעים מדידה בבייטים (לא תלוי בשפת התכנות).
ציון התמיכה ברמת הטענה: כשמפעילים את הציון ברמת הטענה, עם כל טענה מוחזר ציון תמיכה כמספר מ-0 עד 1 שמציין עד כמה הטענה מבוססת על קבוצת העובדות שסופקה. מידע נוסף זמין במאמר בנושא קבלת ציונים ברמת הטענה עבור תשובה אפשרית.
נדרש אימות של הטענה: עם כל טענה, מוחזר ערך בוליאני של grounding-check-required. אם התוצאה היא
False, המשמעות היא שהמערכת קבעה שלא נדרש ביסוס לטענה, ולכן לא מוחזרים ציטוטים. לדוגמה, משפט כמו "Here is what I found" (זה מה שמצאתי) הוא לא עובדה בפני עצמה, ולכן לא נדרשת בדיקת ביסוס.אם התוצאה של הבדיקה grounding-check-required היא
true, המשמעות היא שבדיקת ההצמדה לקרקע בוצעה והוחזרו ציוני התמיכה והציטוטים, אם יש כאלה.
קבלת ציון תמיכה למועמד לתשובה
כדי לבדוק עד כמה תשובה אפשרית מבוססת על קבוצת עובדות, פועלים לפי השלבים הבאים:
מכינים את קבוצת העובדות. מידע נוסף ודוגמאות זמינים במאמר הסברים והגדרות של מונחים.
מבצעים קריאה ל-
checkבאמצעות הקוד הבא:
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "TEXT_0",
"attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
},
{
"factText": "TEXT_1",
"attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
},
{
"factText": "TEXT_2",
"attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
}
],
"groundingSpec": {
"citationThreshold": "CITATION_THRESHOLD"
}
}'
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מספר הפרויקט או המזהה של פרויקט Google Cloud .
CANDIDATE: מחרוזת של תשובה אפשרית שרוצים לקבל לגביה ציון תמיכה – לדוגמה,Titanic was directed by James Cameron. It was released in 1997.. תשובה אפשרית יכולה לכלול עד 4, 096 טוקנים. טוקן מוגדר כמילה במשפט או כנקודה (סימן פיסוק שמשמש לסיום המשפט). לדוגמה, המשפט "They wore off-the-rack clothes in 2024" מכיל שבעה טוקנים, כולל שש מילים ונקודה.
TEXT: סגמנט הטקסט שישמש כבסיס – לדוגמה,Titanic is a 1997 American epic... Academy Awards.(אפשר לראות את הטקסט המלא בדוגמאות לעובדות).
ATTRIBUTE: השם של מאפיין מטא-נתונים שמשויך לעובדה – לדוגמה,authorאוtitle. זו תווית שהמשתמש מגדיר כדי להוסיף מידע נוסף לטקסט העובדה. לדוגמה, אם טקסט העובדהToronto is the capital of Ontarioכולל מאפייןauthorעם הערךWikipedia, הטענות הבאות ייחשבו כטענות שמבוססות על העובדה:Wikipedia cites that Toronto is the capital of OntarioToronto is the capital of Ontarioעם זאת, הטענה ש-
Government of Ontario claims that Toronto is the capital of Ontarioלא מבוססת כמו שתי הטענות הראשונות.
VALUE: הערך של המאפיין. לדוגמה,Simple WikipediaאוTitanic (1997 film).
CITATION_THRESHOLD: ערך מספרי ממשי (float) בין 0 ל-1 שקובע אם צריך לציין מקור לטענה בתשובה המוצעת. סף גבוה יותר מוביל לפחות ציטוטים אבל חזקים יותר, וסף נמוך יותר מוביל ליותר ציטוטים אבל חלשים יותר. אם לא מוגדר ערך, ערך הסף שמוגדר כברירת מחדל הוא0.6.
Python
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Python.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות לעובדות
לפניכם כמה דוגמאות לעובדות ולמאפיינים שלהן. הדוגמאות האלה נועדו לעזור לכם להבין את תגובת ההארקה ואת הפורמט של פקודת curl.
Fact 0
טקסט:
"Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards."מאפיינים:
{"Author": "Simple Wikipedia"}
עובדה 1
טקסט:
"James Cameron's "Titanic" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the "ship of dreams" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912."מאפיינים:
{"Author": "Rotten Tomatoes"}
דוגמה לבקשה
אחרי שמכינים את העובדות, אפשר לשלוח את הבקשה הבאה ולהחליף את השדה CANDIDATE במחרוזות שונות שרוצים לבדוק את ההצדקה שלהן.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"citationThreshold": "0.6"
}
}'
דוגמאות לתשובות אפשריות ולתשובות מבוססות
בטבלה הבאה מוצגות דוגמאות למועמדים שונים לתשובות ולתגובות כששולחים את הבקשה לדוגמה, על סמך העובדות לדוגמה.
| תשובה אפשרית | בדיקת תשובה מבוססת |
|---|---|
Here is what I found. Titanic was directed by James Cameron.
|
ציון התמיכה: 0.99קטעי מידע שצוטטו:
|
Titanic was directed by James Cameron. It was released in
1997.
|
ציון התמיכה: 0.99קטעי מידע שצוטטו:
|
Titanic was directed by James Cameron. It was based on the sinking
of the RMS Titanic that led to the death of 1500 people.
|
ציון התמיכה: 0.95קטעי מידע שצוטטו:
|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
ציון התמיכה: 0.54קטעי מידע שצוטטו:
"It starred Brad Pitt and Kate Winslet" לא נכונה לחלוטין ולכן לא מצורפים אליה ציטוטים. |
קבלת ציונים ברמת הטענה למועמד לתשובה
בנוסף לציון התמיכה ברמת התשובה, אפשר לקבל ציון תמיכה ברמת הטענה לכל טענה במועמדת לתשובה.
כדי לקבל את הציונים ברמת התביעה:
מכינים את קבוצת העובדות. מידע נוסף ודוגמאות זמינים במאמר הסברים והגדרות של מונחים.
מבצעים קריאה ל-
checkבאמצעות פקודת ה-curl הבאה:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \ -d '{ "answerCandidate": "CANDIDATE", "facts": [ { "factText": "TEXT_0", "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"} }, { "factText": "TEXT_1", "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"} }, { "factText": "TEXT_2", "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"} }, ], "groundingSpec": { "citationThreshold": "CITATION_THRESHOLD", "enableClaimLevelScore": "ENABLE_CLAIM_LEVEL_SCORE", } }'מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מספר הפרויקט או המזהה של פרויקטGoogle Cloud .
CANDIDATE: מחרוזת של תשובה אפשרית שרוצים לקבל לגביה ציון תמיכה – לדוגמה,Titanic was directed by James Cameron. It was released in 1997.. אורך התשובה האפשרית יכול להיות עד 4, 096 טוקנים. טוקן מוגדר כמילה במשפט או כנקודה (סימן פיסוק שמשמש לסיום המשפט). לדוגמה, המשפט "They wore off-the-rack clothes in 2024" מכיל שבעה טוקנים, כולל שש מילים ונקודה.
TEXT: סגמנט הטקסט שישמש כבסיס – לדוגמה,Titanic is a 1997 American epic... Academy Awards.(אפשר לראות את הטקסט המלא בדוגמאות לעובדות).
ATTRIBUTE: השם של מאפיין מטא-נתונים שמשויך לעובדה – לדוגמה,authorאוtitle. זו תווית שמוגדרת על ידי המשתמש כדי להוסיף מידע נוסף לטקסט העובדה. לדוגמה, אם הטקסט של העובדהToronto is the capital of Ontarioכולל מאפייןauthorעם הערךWikipedia, הטענות הבאות מבוססות היטב:Wikipedia cites that Toronto is the capital of OntarioToronto is the capital of Ontario
עם זאת, הטענה ש
Government of Ontario claims that Toronto is the capital of Ontarioלא מבוססת באותה מידה.
VALUE: הערך של המאפיין. לדוגמה,Simple WikipediaאוTitanic (1997 film).
CITATION_THRESHOLD: ערך מספרי ממשי (float) בין 0 ל-1 שקובע אם צריך לציין מקור לטענה בתשובה המוצעת. סף גבוה יותר מוביל לפחות ציטוטים אבל חזקים יותר לתמיכה בטענה, וסף נמוך יותר מוביל ליותר ציטוטים אבל חלשים יותר. אם לא מוגדר ערך, ערך ברירת המחדל של הסף הוא 0.6.
ENABLE_CLAIM_LEVEL_SCORE: ערך בוליאני. מגדירים את השדה הזה לערךtrueכדי להפעיל את התכונה 'ציון ברמת הטענה'. כדי להשבית את התכונה הזו, צריך להסיר את השדה הזה או להגדיר את השדה הזה ל-false.
דוגמה לבקשה
אפשר לשלוח את הבקשה הבאה באמצעות העובדות לדוגמה מהקטע הקודם. מחליפים את השדה CANDIDATE במחרוזות שונות שרוצים לבדוק את ההצדקה שלהן לכל טענה.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
"answerCandidate": "CANDIDATE",
"facts": [
{
"factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
"attributes": {"author":"Simple Wikipedia"}
},
{
"factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
"attributes": {"author":"Simple Wikipedia"}
}
],
"groundingSpec": {
"citationThreshold": "0.6",
"enableClaimLevelScore": true,
}
}'
דוגמה לתשובות עם ציונים ברמת הטענה
בטבלה הבאה מוצגת דוגמה לתשובה אפשרית ולתגובה שלה כששולחים את הבקשה לדוגמה, על סמך העובדות לדוגמה.
| תשובה אפשרית | בדיקת תשובה מבוססת |
|---|---|
Here is what I found. Titanic was directed by James Cameron. It
starred Kate Winslet and Leonardo DiCaprio.
|
ציון התמיכה: 0.99קטעי מידע שצוטטו:
|