בדף הזה מוסבר איך מקבלים תוצאות חיפוש באמצעות ה-API.
אתם יכולים לבצע קריאות ל-API ולשלב את הקריאות האלה בשרת או באפליקציה שלכם. בדף הזה יש דוגמאות קוד שמראות איך לבצע שאילתות חיפוש באמצעות ספריות הלקוח של gRPC עם חשבון שירות.
קבלת תוצאות חיפוש
אפשר לקבל תוצאות חיפוש באמצעות ה-API.
REST
כדי להשתמש ב-API כדי לקבל תוצאות חיפוש של אפליקציה עם נתונים מובנים או לא מובנים, משתמשים ב-method engines.servingConfigs.search:
מוצאים את מזהה האפליקציה. אם כבר יש לכם מזהה אפליקציה, דלגו לשלב הבא.
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
בדף אפליקציות, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה מזהה.
תצוגה מקדימה של תוצאות החיפוש.
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/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "QUERY", "userPseudoId": "USER_PSEUDO_ID", "pageSize": "PAGE_SIZE", "offset": "OFFSET", "orderBy": "ORDER_BY", "filter": "FILTER", "boostSpec": "BOOST_SPEC", "facetSpec": "FACET_SPEC", "queryExpansionSpec": "QUERY_EXPANSION_SPEC", "spellCorrectionSpec": "SPELL_CORRECTION_SPEC", "contentSearchSpec": "CONTENT_SEARCH_SPEC", "dataStoreSpecs": [{"DATA_STORE_SPEC"}], }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
APP_ID: המזהה של האפליקציה שרוצים לשלוח אליה שאילתה. -
QUERY: טקסט השאילתה לחיפוש. -
USER_PSEUDO_ID: מחרוזת בקידוד UTF-8, שמשמשת כמזהה ייחודי עם פסאודונימיזציה למעקב אחרי המשתמשים. האורך המקסימלי הוא 128 תווים. Google ממליצה בחום להשתמש בשדה הזה כי הוא משפר את ביצועי המודל ואת איכות ההתאמה האישית. אפשר להשתמש בקובץ Cookie של HTTP בשדה הזה, כדי לזהות באופן ייחודי מבקר במכשיר יחיד. ריכזנו כאן כמה דברים חשובים שכדאי לזכור:- המזהה הזה לא משתנה כשהמבקר נכנס לאתר או יוצא ממנו.
- אסור להגדיר את אותו מזהה למספר משתמשים. במקרים אחרים, שימוש באותו מזהה משתמש לכמה משתמשים עלול לגרום לשילוב של היסטוריית האירועים של משתמשים שונים ולהפחית את איכות המודל.
- השדה הזה לא יכול לכלול פרטים אישיים מזהים (PII).
- עבור בקשת חיפוש או בקשת עיון נתונה, השדה הזה צריך להיות ממופה לשדה
userPseudoIdהמתאים באירועי המשתמש.
מידע נוסף זמין במאמר
userPseudoId. -
PAGE_SIZE: מספר התוצאות שמוחזרות מהחיפוש. הגודל המקסימלי המותר של הדף תלוי בסוג הנתונים. אם גודל הדף גדול מהערך המקסימלי, הוא ישתנה לערך המקסימלי.
OFFSET: אופציונלי. האינדקס ההתחלתי של התוצאות. ערך ברירת המחדל הוא 0.לדוגמה, אם ההיסט הוא 2, גודל הדף הוא 10 ויש 15 תוצאות להחזרה, התוצאות 2 עד 11 מוחזרות בדף הראשון.
ORDER_BY: אופציונלי. הסדר שבו התוצאות מסודרות.
FILTER: אופציונלי. שדה טקסט לסינון החיפוש באמצעות ביטוי סינון. ערך ברירת המחדל הוא מחרוזת ריקה, כלומר לא מוחל מסנן.לדוגמה:
color: ANY("red", "blue") AND score: IN(*, 100.0e)מידע נוסף זמין במאמר בנושא סינון חיפוש של נתונים מובְנים או לא מובְנים.
BOOST_SPEC: אופציונלי. מפרט להדגשה או להסתרת מסמכים. ערכים:-
BOOST: מספר בשיטת נקודה צפה בטווח [-1,1]. אם הערך שלילי, התוצאות יורדות בדירוג (הן יופיעו בחלק התחתון של התוצאות). אם הערך חיובי, התוצאות מקודמות (מופיעות גבוה יותר בתוצאות). -
CONDITION: a ביטוי סינון טקסט לבחירת המסמכים שעליהם יוחל ה-boost. המסנן צריך להחזיר ערך בוליאני.
מידע על שיפור תוצאות חיפוש מובנה זמין במאמר שיפור תוצאות חיפוש.
-
FACET_SPEC: אופציונלי. מפרט של היבט לביצוע חיפוש עם היבטים.
QUERY_EXPANSION_SPEC: אופציונלי. הגדרה לקביעה של התנאים שבהם יתבצע הרחבת שאילתה. ערך ברירת המחדל הואDISABLED.
SPELL_CORRECTION_SPEC: אופציונלי. מפרט לקביעה של התנאים שבהם צריך לבצע תיקון שגיאות כתיב. ערך ברירת המחדל הואAUTO.
CONTENT_SEARCH_SPEC: אופציונלי. לקבלת תקצירים, תשובות, פלחים וסיכומים מחיפוש. לנתונים לא מובנים בלבד. למידע נוסף:
DATA_STORE_SPEC: מסננים של מאגר נתונים ספציפי לחיפוש. אפשר להשתמש בזה אם אפליקציית החיפוש שלכם מקושרת לכמה מאגרי נתונים. מידע נוסף זמין במאמר בנושא DataStoreSpec.צפייה בתוצאות חיפוש מודרך בתגובה לחיפוש:
תוצאות חיפוש מודרכות מוחזרות עם תשובות לחיפושים מובנים ולא מובנים. תוצאת החיפוש המודרך מכילה רשימה של צמדי מפתח/ערך של מאפיינים שחולצו על סמך מסמכי תוצאות החיפוש. כך המשתמשים יכולים לשפר את תוצאות החיפוש שלהם באמצעות מפתחות וערכים של מאפיינים כמסננים.
בדוגמה הזו לתגובה, הצבע הירוק שימש לסינון תוצאות החיפוש על ידי שליחת בקשת חיפוש חדשה עם שדה הסינון שצוין כ-
_gs.color: ANY("green"):{ "guidedSearchResult": { "refinementAttributes": [ { "attributeKey": "_gs.color", "attributeValue": "green" }, { "attributeKey": "_gs.category", "attributeValue": "shoe" } ] } }
-
קבלת ציוני רלוונטיות של מסמכים בתוצאות החיפוש
הציונים של רלוונטיות המסמך מבוססים על הדמיון בין השאילתה לבין המסמך. הציונים מחולקים ל-11 קטגוריות בטווח: 0, 0.1, 0.2 ועד 1.0. ככל שהציון גבוה יותר, כך המסמך רלוונטי יותר.
כדאי להשתמש בציוני הרלוונטיות של המסמכים בתרחישי השימוש הבאים:
סינון אחרי החיפוש על סמך ציון הרלוונטיות כדי להסיר תוצאות לא רלוונטיות
דירוג אחרי החיפוש או כקלט לאפליקציות אחרות
ניפוי באגים: ציוני הרלוונטיות יכולים לספק תובנות לגבי הסיבות להחזרת תוצאות חיפוש מסוימות
לכל תוצאת חיפוש אפשר להחזיר ציון רלוונטיות:
"results": [
{
"id": "DOCUMENT_ID",
"document": {
...
},
"modelScores": {
"relevance_score": {
"values": [
DOCUMENT-RELEVANCE-SCORE
]
}
}
},
...
אפשר גם לעיין בדוגמה לפקודה שמופיעה בהמשך.
לפני שמתחילים: מוודאים שאפליקציית החיפוש משויכת למאגר נתונים מובְנים או לא מובְנים.
REST
כדי לבקש שציוני הרלוונטיות של המסמכים יוחזרו עם תוצאות החיפוש, משתמשים בשיטה engines.servingConfigs.search באופן הבא:
- עיבוד התוצאות אחרי החיפוש.
מוצאים את מזהה האפליקציה. אם כבר יש לכם מזהה אפליקציה, דלגו לשלב הבא.
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
בדף אפליקציות, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה מזהה.
מריצים את פקודת ה-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/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "relevanceScoreSpec": { "returnRelevanceScore": true } }'-
PROJECT_ID: מזהה הפרויקט. -
APP_ID: המזהה של האפליקציה שרוצים לשלוח אליה שאילתה. -
QUERY: טקסט השאילתה לחיפוש.
-
הסיכום של החיפוש משתנה בהתאם למודל
אם אתם יוצרים סיכומים של שאילתות החיפוש, יכול להיות שתשימו לב שהסיכומים שונים בתוצאות במסוף ובתוצאות ב-API. אם אתם רואים את ההודעה הזו, סביר להניח שהסיבה לכך היא שהמסוף משתמש במודל LLM שונה מה-API. בדוגמאות הקוד ובדוגמאות של curl שבדף הזה נעשה שימוש במודל LLM יציב.
כדי לשנות או להציג את מודל ה-LLM שבו נעשה שימוש בדף Preview בממשק המשתמש, עוברים לדף Configurations > הכרטיסייה UI של האפליקציה.
במקרה של קריאות לשיטות, מודל ברירת המחדל הוא המודל היציב. כדי להשתמש במודל LLM שאינו המודל היציב, אפשר לעיין במאמרים ציון מודל הסיכום וציון מודל התשובה.