زمینه سازی با جستجوی گوگل


از ویژگی Grounding with Google Search در Gemini API و AI Studio می‌توان برای بهبود دقت و تازگی پاسخ‌های مدل استفاده کرد. علاوه بر پاسخ‌های واقعی‌تر، وقتی Grounding با جستجوی Google فعال است، Gemini API منابع پایه (لینک‌های پشتیبانی درون خطی) و پیشنهادات جستجوی Google را همراه با محتوای پاسخ برمی‌گرداند. پیشنهادات جستجو کاربران را به نتایج جستجوی مربوط به پاسخ پایه اشاره می کند.

زمین‌گیری با جستجوی Google فقط از درخواست‌های متنی پشتیبانی می‌کند. از اعلان های چندوجهی (متن-و-تصویر، متن-و-صوت و غیره) پشتیبانی نمی کند. Grounding با جستجوی Google از همه زبان‌های موجود برای مدل‌های Gemini پشتیبانی می‌کند.

این راهنما به شما کمک می‌کند تا با استفاده از یکی از Gemini API SDK یا REST API، Grounding with Google Search را شروع کنید.

یک مدل را برای استفاده از جستجوی Google پیکربندی کنید

چرا Grounding با جستجوی گوگل مفید است؟

در هوش مصنوعی مولد، زمین به فرآیند اتصال مدل به منابع اطلاعاتی قابل تأیید اشاره دارد. این منابع ممکن است اطلاعات دنیای واقعی محل کار یا سایر زمینه های خاص را ارائه دهند. اتصال به زمین به بهبود دقت، قابلیت اطمینان و سودمندی خروجی های هوش مصنوعی کمک می کند.

زمین‌گذاری به‌ویژه برای درخواست‌هایی که به اطلاعات به‌روز از وب نیاز دارند، مهم است. با استفاده از زمین، مدل می تواند به اطلاعات فراتر از تاریخ قطع دانش خود دسترسی پیدا کند، منابعی برای اطلاعات بدست آورد و به سؤالاتی پاسخ دهد که در غیر این صورت نمی توانست به طور دقیق به آنها پاسخ دهد.

با استفاده از Google AI Studio یا Gemini API، می توانید خروجی مدل را در جستجوی Google زمین کنید. گراندینگ با جستجوی گوگل مزایای زیر را به همراه دارد:

  • به پاسخ‌های مدلی اجازه می‌دهد که به محتوای خاصی متصل شوند.
  • توهمات مدل را کاهش می دهد، مواردی که مدل محتوایی غیر واقعی تولید می کند.
  • لنگرها پاسخ‌ها را به منابعی که کاربر می‌تواند روی آن کلیک کرده و باز کند، مدل می‌کند.
  • قابلیت اطمینان و کاربردی بودن محتوای تولید شده را افزایش می دهد.

هنگامی که از Grounding با جستجوی Google استفاده می کنید، به طور موثر مدل را به نتایج جستجوی قابل اعتماد از اینترنت متصل می کنید. از آنجایی که پاسخ‌های مدل غیرمستند مبتنی بر الگوهای آموخته‌شده هستند، ممکن است پاسخ‌های واقعی به درخواست‌های مربوط به رویدادهای جاری دریافت نکنید (به عنوان مثال، درخواست پیش‌بینی آب‌وهوا یا امتیاز نهایی یک بازی فوتبال اخیر). از آنجایی که اینترنت دسترسی به اطلاعات جدید را فراهم می‌کند، یک اعلان پایه می‌تواند پاسخ‌های به‌روزتری را با ذکر منابع ایجاد کند.

در اینجا مثالی از مقایسه یک پاسخ غیر پایه و یک پاسخ زمینی ایجاد شده با استفاده از API آورده شده است. (پاسخ ها در اکتبر 2024 ایجاد شدند.)

جوزای بی پایه زمینه سازی با جستجوی گوگل
درخواست: چه کسی برنده سوپربول امسال شد؟
پاسخ: سران کانزاس سیتی برنده Super Bowl LVII امسال (2023) شدند.
درخواست: چه کسی برنده سوپربول امسال شد؟
پاسخ: کانزاس سیتی چیفز امسال قهرمان Super Bowl LVIII شد و سان فرانسیسکو 49ers را در وقت اضافه با نتیجه 25 بر 22 شکست داد.

در پاسخ بی اساس، مدل به برد کانزاس سیتی چیفز در سوپربول در سال 2023 اشاره دارد. در پاسخ پایه، مدل به درستی به پیروزی اخیر آنها در سال 2024 اشاره می کند.

تصویر زیر نشان می دهد که چگونه یک پاسخ زمینی در AI Studio به نظر می رسد.

اعلان و پاسخ پایه در AI Studio

پیشنهادات جستجوی گوگل

برای استفاده از Grounding با جستجوی Google، باید پیشنهادات جستجوی Google را نمایش دهید، که عبارت‌های جستجوی پیشنهادی هستند که در فراداده‌های پاسخ پایه‌گذاری شده گنجانده شده‌اند. برای کسب اطلاعات بیشتر در مورد الزامات نمایش، به استفاده از پیشنهادات جستجوی Google مراجعه کنید.

بازیابی پویا

برخی از پرس و جوها احتمالاً از Grounding with Google Search بیشتر از سایرین سود می برند. ویژگی بازیابی پویا به شما کنترل بیشتری بر روی زمان استفاده از Grounding با جستجوی Google می دهد.

اگر حالت بازیابی پویا مشخص نشده باشد، Grounding با جستجوی Google همیشه فعال می شود. اگر حالت روی پویا تنظیم شده باشد، مدل زمان استفاده از زمین را بر اساس آستانه ای که می توانید پیکربندی کنید، تصمیم می گیرد. آستانه یک مقدار ممیز شناور در محدوده [0،1] است و به طور پیش فرض 0.3 است. اگر مقدار آستانه 0 باشد، پاسخ همیشه با جستجوی Google پایه می‌شود. اگر 1 باشد، هرگز نیست.

بازیابی پویا چگونه کار می کند

می‌توانید از بازیابی پویا در درخواست خود استفاده کنید تا انتخاب کنید چه زمانی باید Grounding با جستجوی Google روشن شود. این زمانی مفید است که درخواست نیازی به پاسخ مبتنی بر جستجوی Google نداشته باشد و مدل بتواند بر اساس دانش خود پاسخی را بدون پایه ارائه دهد. این به شما کمک می کند تأخیر، کیفیت و هزینه را به طور موثرتری مدیریت کنید.

قبل از اینکه پیکربندی بازیابی پویا را در درخواست خود فراخوانی کنید، اصطلاحات زیر را درک کنید:

  • امتیاز پیش‌بینی : هنگامی که شما یک پاسخ مبتنی بر درخواست می‌کنید، Gemini یک امتیاز پیش‌بینی به درخواست اختصاص می‌دهد. امتیاز پیش بینی یک مقدار ممیز شناور در محدوده [0,1] است. ارزش آن بستگی به این دارد که آیا درخواست می تواند از به دست آوردن پاسخ با به روزترین اطلاعات جستجوی Google بهره مند شود. بنابراین، اگر یک درخواست نیاز به پاسخ مبتنی بر آخرین حقایق در وب داشته باشد، امتیاز پیش‌بینی بالاتری دارد. اعلانی که یک پاسخ تولید شده توسط مدل برای آن کافی است، دارای امتیاز پیش‌بینی کمتری است.

    در اینجا نمونه هایی از برخی از دستورات و امتیازات پیش بینی آنها آورده شده است.

    اعلان امتیاز پیش بینی نظر دهید
    "شعری در مورد گل صد تومانی بنویس" 0.13 مدل می تواند بر دانش خود تکیه کند و پاسخ نیازی به پایه ندارد.
    "اسباب بازی برای یک کودک 2 ساله پیشنهاد کنید" 0.36 مدل می تواند بر دانش خود تکیه کند و پاسخ نیازی به پایه ندارد.
    "آیا می توانید دستور العملی برای یک گواکامولی الهام گرفته از آسیایی بدهید؟" 0.55 جستجوی Google می‌تواند پاسخی مبتنی بر پایه بدهد، اما به شدت نیازی به اتصال به زمین نیست. دانش مدل ممکن است کافی باشد.
    "Agent Builder چیست؟ چگونه زمین در Agent Builder صورتحساب می شود؟" 0.72 برای ایجاد یک پاسخ مستدل، به جستجوی Google نیاز دارد.
    "چه کسی برنده آخرین جایزه بزرگ فرمول یک شد؟" 0.97 برای ایجاد یک پاسخ مستدل، به جستجوی Google نیاز دارد.
  • آستانه : در درخواست API خود، می توانید یک پیکربندی بازیابی پویا را با یک آستانه مشخص کنید. آستانه یک مقدار ممیز شناور در محدوده [0،1] است و به طور پیش فرض 0.7 است. اگر مقدار آستانه صفر باشد، پاسخ همیشه با جستجوی Google زمین می‌شود. برای تمام مقادیر دیگر آستانه، موارد زیر قابل اعمال است:

    • اگر امتیاز پیش‌بینی بزرگ‌تر یا مساوی آستانه باشد، پاسخ با جستجوی Google استوار می‌شود. آستانه پایین تر نشان می دهد که درخواست های بیشتری پاسخ هایی دارند که با استفاده از Grounding با جستجوی Google ایجاد می شوند.
    • اگر امتیاز پیش‌بینی کمتر از آستانه باشد، ممکن است مدل همچنان پاسخ را ایجاد کند، اما با جستجوی Google مستقر نیست.

برای یادگیری نحوه تنظیم آستانه بازیابی پویا با استفاده از یک SDK یا REST API، به مثال کد مناسب مراجعه کنید.

اگر از AI Studio استفاده می‌کنید، می‌توانید آستانه بازیابی پویا را با کلیک کردن روی Edit grounding تنظیم کنید.

آستانه زمین را در AI Studio انتخاب کنید

برای یافتن آستانه مناسبی که متناسب با نیازهای کسب و کار شما باشد، می توانید مجموعه ای نماینده از پرس و جوها ایجاد کنید که انتظار دارید با آنها روبرو شوید. سپس می توانید پرس و جوها را بر اساس امتیاز پیش بینی در پاسخ مرتب کنید و یک آستانه خوب برای مورد استفاده خود انتخاب کنید.

یک پاسخ مستدل

اگر درخواست شما با موفقیت در جستجوی 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 مراجعه کنید.