קבלת תוצאות חיפוש (גרסה קודמת)

בדף הזה מוסבר איך לקבל תוצאות חיפוש באמצעות ה-API.

אתם יכולים לבצע קריאות ל-API ולשלב אותן בשרת או באפליקציה שלכם. בדף הזה מופיעות דוגמאות קוד שמראות איך לשלוח שאילתות חיפוש באמצעות ספריות הלקוח של gRPC עם חשבון שירות.

קבלת תוצאות חיפוש

אתם יכולים לקבל תוצאות חיפוש באמצעות ה-API.

REST

כדי להשתמש ב-API כדי לקבל תוצאות חיפוש של אפליקציה עם נתונים מובְנים או לא מובְנים, משתמשים ב-method‏ engines.servingConfigs.search:

  1. מוצאים את מזהה האפליקציה. אם כבר יש לכם את מזהה האפליקציה, דלגו לשלב הבא.

    1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

      מעבר אל "אפליקציות"

    2. בדף Apps, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה ID.

  2. תצוגה מקדימה של תוצאות החיפוש.

    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: ביטוי סינון טקסט לבחירת המסמכים שעליהם יחול החיזוק. המסנן חייב להחזיר ערך בוליאני.

      למידע נוסף על חיזוק תוצאות של חיפוש מובנה, ראו חיזוק תוצאות חיפוש.

    • ‫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

כדי לבקש שציוני הרלוונטיות של המסמכים יוחזרו עם תוצאות החיפוש, משתמשים ב-method‏ engines.servingConfigs.search באופן הבא:

  1. מוצאים את מזהה האפליקציה. אם כבר יש לכם את מזהה האפליקציה, דלגו לשלב הבא.

    1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

      מעבר אל "אפליקציות"

    2. בדף Apps, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה ID.

  2. מריצים את פקודת ה-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 של האפליקציה.

  • המודל היציב הוא מודל ברירת המחדל להפעלות של methods. כדי להשתמש במודל LLM אחר, עיינו במאמרים ציון מודל הסיכום וציון מודל התשובה.