התבססות על חיפוש Google

אפשר להשתמש בתכונה 'התאמה לרקע באמצעות חיפוש Google' ב-Gemini API וב-AI Studio כדי לשפר את הדיוק ואת העדכניות של התשובות מהמודל. בנוסף לתשובות עובדתיות יותר, כשהאפשרות 'התאמה לעובדות באמצעות חיפוש Google' מופעלת, ה-API של Gemini מחזיר מקורות מידע (קישורים תומכים בתוך הטקסט) והצעות מחיפוש Google יחד עם תוכן התשובה. ההצעות לחיפוש מפנות את המשתמשים לתוצאות החיפוש התואמות לתשובה המבוססת.

המדריך הזה יעזור לכם להתחיל להשתמש ב-Grounding with Google Search באמצעות אחת מערכות ה-SDK של Gemini API או באמצעות ה-API ל-REST.

הצעות בחיפוש Google

כדי להשתמש ב'הצמדה למציאות' עם חיפוש Google, צריך להציג הצעות לחיפוש Google. אלה הצעות לשאילתות שכלולות במטא-נתונים של התשובה המצורפת. מידע נוסף על הדרישות להצגה זמין במאמר שימוש בהצעות לחיפוש ב-Google.

אחזור מ-Google Search

אחזור דינמי

סביר להניח שחלק מהשאילתות ייהנו יותר מהתכונה 'הכנה לקראת חיפוש' ב-Google מאשר שאילתות אחרות. התכונה אחזור דינמי מאפשרת לכם לקבוע מתי להשתמש בתכונה 'התמקדות בנושא' בחיפוש Google.

אם לא צוין מצב אחזור דינמי, תכונת 'התאמה לנתונים הקיימים בחיפוש Google' מופעלת תמיד. אם המצב מוגדר כדינמי, המודל מחליט מתי להשתמש בהגנה על הקרקע על סמך ערך סף שאפשר להגדיר. הסף הוא ערך של נקודה צפה בטווח [0,1], והערך שמוגדר כברירת מחדל הוא 0.3. אם ערך הסף הוא 0, התשובה תמיד מבוססת על חיפוש Google. אם הערך הוא 1, היא אף פעם לא מבוססת על חיפוש Google.

איך פועל אחזור דינמי

אתם יכולים להשתמש באחזור דינמי בבקשה כדי לבחור מתי להפעיל את התכונה 'התמקדות' באמצעות חיפוש Google. האפשרות הזו שימושית כשהנחיה לא מחייבת תשובה שמבוססת על חיפוש Google, והמודל יכול לספק תשובה על סמך הידע שלו ללא התייחסות למקורות מידע. כך תוכלו לנהל את זמן האחזור, האיכות והעלות בצורה יעילה יותר.

לפני שמפעילים את הגדרת אחזור הדינמי בבקשה, חשוב להבין את המונחים הבאים:

  • Prediction score (ציון חיזוי): כשמבקשים תשובה מבוססת, Gemini מקצה להנחיה Prediction score (ציון חיזוי). ציון החיזוי הוא ערך נקודה צפה (floating-point) בטווח [0,1]. הערך שלו תלוי בכך שאפשר להשתמש בהנחיה כדי להוסיף לתשובה את המידע העדכני ביותר מחיפוש Google. לכן, אם הנחיה מחייבת תשובה שמבוססת על העובדות העדכניות ביותר באינטרנט, ציון התחזית שלה גבוה יותר. להנחיה שבה תשובה שנוצרה על ידי מודל מספיקה, יש ציון חיזוי נמוך יותר.

    ריכזנו כאן כמה דוגמאות להנחיות ולציוני התחזית שלהן.

    הנחיה ציון החיזוי תגובה
    "כתיבת שיר על אדמוניות" 0.13 המודל יכול להסתמך על הידע שלו והתשובה לא צריכה להסתמך על נתונים.
    "Suggest a toy for a 2yo child" 0.36 המודל יכול להסתמך על הידע שלו והתשובה לא צריכה להסתמך על נתונים.
    "יש לך מתכון לגואקמולה בהשראת אסיה?" 0.55 חיפוש Google יכול לספק תשובה מבוססת, אבל אין צורך בכך באופן מוחלט. יכול להיות שהידע של המודל יספיק.
    "מהו הכלי ליצירת סוכנים? איך מתבצע החיוב על עיגון ב-Agent Builder?" 0.72 המערכת צריכה להשתמש בחיפוש Google כדי ליצור תשובה מבוססת.
    "Who won the latest F1 grand prix?" 0.97 המערכת צריכה להשתמש בחיפוש Google כדי ליצור תשובה מבוססת.
  • סף: בבקשת ה-API, אפשר לציין הגדרה של אחזור דינמי עם סף. הסף הוא ערך נקודה צפה (floating-point) בטווח [0,1], וערך ברירת המחדל שלו הוא 0.3. אם ערך הסף הוא אפס, התגובה תמיד תתבסס על חיפוש Google. לכל שאר הערכים של הסף, חל הכלל הבא:

    • אם ציון התחזית גבוה מהסף או שווה לו, התשובה מבוססת על חיפוש Google. ערך סף נמוך יותר מעיד על כך שליותר הנחיות יש תשובות שנוצרו באמצעות התכונה 'הכנה לשימוש' בחיפוש Google.
    • אם ציון התחזית נמוך מהסף, יכול להיות שהמודל עדיין ייצור את התשובה, אבל היא לא תתבסס על חיפוש Google.

במאמר דוגמה לקוד תוכלו לקרוא איך מגדירים את סף אחזור הנתונים הדינמי באמצעות SDK או באמצעות API ל-REST.

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

תגובה מבוססת

אם ההנחיה תעבור בהצלחה לחיפוש Google, התגובה תכלול את הערך groundingMetadata. תגובה מבוססת עשויה להיראות כך (חלקים מהתגובה הושמטו כדי לקצר את הטקסט):

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "Carlos Alcaraz won the Gentlemen's Singles title at the 2024 Wimbledon Championships. He defeated Novak Djokovic in the final, winning his second consecutive Wimbledon title and fourth Grand Slam title overall. \n"
          }
        ],
        "role": "model"
      },
      ...
      "groundingMetadata": {
        "searchEntryPoint": {
          "renderedContent": "\u003cstyle\u003e\n.container {\n  align-items: center;\n  border-radius: 8px;\n  display: flex;\n  font-family: Google Sans, Roboto, sans-serif;\n  font-size: 14px;\n  line-height: 20px;\n  padding: 8px 12px;\n}\n.chip {\n  display: inline-block;\n  border: solid 1px;\n  border-radius: 16px;\n  min-width: 14px;\n  padding: 5px 16px;\n  text-align: center;\n  user-select: none;\n  margin: 0 8px;\n  -webkit-tap-highlight-color: transparent;\n}\n.carousel {\n  overflow: auto;\n  scrollbar-width: none;\n  white-space: nowrap;\n  margin-right: -12px;\n}\n.headline {\n  display: flex;\n  margin-right: 4px;\n}\n.gradient-container {\n  position: relative;\n}\n.gradient {\n  position: absolute;\n  transform: translate(3px, -9px);\n  height: 36px;\n  width: 9px;\n}\n@media (prefers-color-scheme: light) {\n  .container {\n    background-color: #fafafa;\n    box-shadow: 0 0 0 1px #0000000f;\n  }\n  .headline-label {\n    color: #1f1f1f;\n  }\n  .chip {\n    background-color: #ffffff;\n    border-color: #d2d2d2;\n    color: #5e5e5e;\n    text-decoration: none;\n  }\n  .chip:hover {\n    background-color: #f2f2f2;\n  }\n  .chip:focus {\n    background-color: #f2f2f2;\n  }\n  .chip:active {\n    background-color: #d8d8d8;\n    border-color: #b6b6b6;\n  }\n  .logo-dark {\n    display: none;\n  }\n  .gradient {\n    background: linear-gradient(90deg, #fafafa 15%, #fafafa00 100%);\n  }\n}\n@media (prefers-color-scheme: dark) {\n  .container {\n    background-color: #1f1f1f;\n    box-shadow: 0 0 0 1px #ffffff26;\n  }\n  .headline-label {\n    color: #fff;\n  }\n  .chip {\n    background-color: #2c2c2c;\n    border-color: #3c4043;\n    color: #fff;\n    text-decoration: none;\n  }\n  .chip:hover {\n    background-color: #353536;\n  }\n  .chip:focus {\n    background-color: #353536;\n  }\n  .chip:active {\n    background-color: #464849;\n    border-color: #53575b;\n  }\n  .logo-light {\n    display: none;\n  }\n  .gradient {\n    background: linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\n  }\n}\n\u003c/style\u003e\n\u003cdiv class=\"container\"\u003e\n  \u003cdiv class=\"headline\"\u003e\n    \u003csvg class=\"logo-light\" width=\"18\" height=\"18\" viewBox=\"9 9 35 35\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n      \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M42.8622 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 32.2571 42.8622 27.0064V27.0064Z\" fill=\"#4285F4\"/\u003e\n      \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26.3109 43.8555C30.9659 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\" fill=\"#34A853\"/\u003e\n      \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.6559 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 29.8904V29.8904Z\" fill=\"#FBBC05\"/\u003e\n      \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 16.2386 26.3109 16.2386V16.2386Z\" fill=\"#EA4335\"/\u003e\n    \u003c/svg\u003e\n    \u003csvg class=\"logo-dark\" width=\"18\" height=\"18\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n      \u003ccircle cx=\"24\" cy=\"23\" fill=\"#FFF\" r=\"22\"/\u003e\n      \u003cpath d=\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\" fill=\"#4285F4\"/\u003e\n      \u003cpath d=\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 4.06-2.85h.8z\" fill=\"#34A853\"/\u003e\n      \u003cpath d=\"M15.59 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 1.53-6.64l1-.22 3.81 2.98.22 1.08z\" fill=\"#FBBC05\"/\u003e\n      \u003cpath d=\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\" fill=\"#EA4335\"/\u003e\n    \u003c/svg\u003e\n    \u003cdiv class=\"gradient-container\"\u003e\u003cdiv class=\"gradient\"\u003e\u003c/div\u003e\u003c/div\u003e\n  \u003c/div\u003e\n  \u003cdiv class=\"carousel\"\u003e\n    \u003ca class=\"chip\" href=\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4x8Epe-gzpwRBvp7o3RZh2m1ygq1EHktn0OWCtvTXjad4bb1zSuqfJd6OEuZZ9_SXZ_P2SvCpJM7NaFfQfiZs6064MeqXego0vSbV9LlAZoxTdbxWK1hFeqTG6kA13YJf7Fbu1SqBYM0cFM4zo0G_sD9NKYWcOCQMvDLDEJFhjrC9DM_QobBIAMq-gWN95G5tvt6_z6EuPN8QY=\"\u003ewho won wimbledon 2024\u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n"
        },
        "groundingChunks": [
          {
            "web": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4whET1ta3sDETZvcicd8FeNe4z0VuduVsxrT677KQRp2rYghXI0VpfYbIMVI3THcTuMwggRCbFXS_wVvW0UmGzMe9h2fyrkvsnQPJyikJasNIbjJLPX0StM4Bd694-ZVle56MmRA4YiUvwSqad1w6O2opmWnw==",
              "title": "wikipedia.org"
            }
          },
          {
            "web": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4wR1M-9-yMPUr_KdHlnoAmQ8ZX90DtQ_vDYTjtP2oR5RH4tRP04uqKPLmesvo64BBkPeYLC2EpVDxv9ngO3S1fs2xh-e78fY4m0GAtgNlahUkm_tBm_sih5kFPc7ill9u2uwesNGUkwrQlmP2mfWNU5lMMr23HGktr6t0sV0QYlzQq7odVoBxYWlQ_sqWFH",
              "title": "wikipedia.org"
            }
          },
          {
            "web": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4wsDmROzbP-tmt8GdwCW_pqISTZ4IRbBuoaMyaHfcQg8WW-yKRQQvMDTPAuLxJh-8_U8_iw_6JKFbQ8M9oVYtaFdWFK4gOtL4RrC9Jyqc5BNpuxp6uLEKgL5-9TggtNvO97PyCfziDFXPsxylwI1HcfQdrz3Jy7ZdOL4XM-S5rC0lF2S3VWW0IEAEtS7WX861meBYVjIuuF_mIr3spYPqWLhbAY2Spj-4_ba8DjRvmevIFUhRuESTKvBfmpxNSM",
              "title": "cbssports.com"
            }
          },
          {
            "web": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4yzjLkorHiUKjhOPkWaZ9b4cO-cLG-02vlEl6xTBjMUjyhK04qSIclAa7heR41JQ6AAVXmNdS3WDrLOV4Wli-iezyzW8QPQ4vgnmO_egdsuxhcGk3-Fp8-yfqNLvgXFwY5mPo6QRhvplOFv0_x9mAcka18QuAXtj0SPvJfZhUEgYLCtCrucDS5XFc5HmRBcG1tqFdKSE1ihnp8KLdaWMhrUQI21hHS9",
              "title": "jagranjosh.com"
            }
          },
          {
            "web": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AWhgh4y9L4oeNGWCatFz63b9PpP3ys-Wi_zwnkUT5ji9lY7gPUJQcsmmE87q88GSdZqzcx5nZG9usot5FYk2yK-FAGvCRE6JsUQJB_W11_kJU2HVV1BTPiZ4SAgm8XDFIxpCZXnXmEx5HUfRqQm_zav7CvS2qjA2x3__qLME6Jy7R5oza1C5_aqjQu422le9CaigThS5bvJoMo-ZGcXdBUCj2CqoXNVjMA==",
              "title": "apnews.com"
            }
          }
        ],
        "groundingSupports": [
          {
            "segment": {
              "endIndex": 85,
              "text": "Carlos Alcaraz won the Gentlemen's Singles title at the 2024 Wimbledon Championships."
            },
            "groundingChunkIndices": [
              0,
              1,
              2,
              3
            ],
            "confidenceScores": [
              0.97380733,
              0.97380733,
              0.97380733,
              0.97380733
            ]
          },
          {
            "segment": {
              "startIndex": 86,
              "endIndex": 210,
              "text": "He defeated Novak Djokovic in the final, winning his second consecutive Wimbledon title and fourth Grand Slam title overall."
            },
            "groundingChunkIndices": [
              1,
              0,
              4
            ],
            "confidenceScores": [
              0.96145374,
              0.96145374,
              0.96145374
            ]
          }
        ],
        "webSearchQueries": [
          "who won wimbledon 2024"
        ]
      }
    }
  ],
  ...
}

אם התגובה לא כוללת את groundingMetadata, סימן שהתגובה לא אומתה. יכולות להיות לכך כמה סיבות, כולל רלוונטיות נמוכה של המקור או מידע חלקי בתשובה של המודל.

כאשר נוצרת תוצאה מבוססת, המטא-נתונים מכילים מזהי URI שמפנים אוטומטית למוציאים לאור של התוכן ששימש ליצירת התוצאה המבוססת. מזהי ה-URI האלה מכילים את תת-הדומיין vertexaisearch, כמו בדוגמה המקוצרת הזו: https://vertexaisearch.cloud.google.com/grounding-api-redirect/.... המטא-נתונים מכילים גם את הדומיינים של בעלי התוכן הדיגיטלי. אפשר לגשת למזהי ה-URI שסופקו למשך 30 יום אחרי יצירת התוצאה המבוססת.

השדה renderedContent בתוך searchEntryPoint הוא הקוד שסופק להטמעת ההצעות של חיפוש Google. למידע נוסף, ראו שימוש בהצעות לחיפוש ב-Google.