از ویژگی Grounding with Google Search در Gemini API و AI Studio میتوان برای بهبود دقت و تازگی پاسخهای مدل استفاده کرد. علاوه بر پاسخهای واقعیتر، وقتی Grounding با جستجوی Google فعال است، Gemini API منابع پایه (لینکهای پشتیبانی درون خطی) و پیشنهادات جستجوی Google را همراه با محتوای پاسخ برمیگرداند. پیشنهادات جستجو کاربران را به نتایج جستجوی مربوط به پاسخ پایه اشاره می کند.
این راهنما به شما کمک میکند تا با استفاده از یکی از Gemini API SDK یا REST API، Grounding with Google Search را شروع کنید.
پیشنهادات جستجوی گوگل
برای استفاده از 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.3 است. اگر مقدار آستانه صفر باشد، پاسخ همیشه با جستجوی Google زمین میشود. برای تمام مقادیر دیگر آستانه، موارد زیر قابل اعمال است:
- اگر امتیاز پیشبینی بزرگتر یا مساوی آستانه باشد، پاسخ با جستجوی Google استوار میشود. آستانه پایین تر نشان می دهد که درخواست های بیشتری پاسخ هایی دارند که با استفاده از Grounding با جستجوی Google ایجاد می شوند.
- اگر امتیاز پیشبینی کمتر از آستانه باشد، ممکن است مدل همچنان پاسخ را ایجاد کند، اما با جستجوی Google مستقر نیست.
برای یادگیری نحوه تنظیم آستانه بازیابی پویا با استفاده از یک SDK یا REST API، به مثال کد مناسب مراجعه کنید.
برای یافتن آستانه مناسبی که متناسب با نیازهای کسب و کار شما باشد، می توانید مجموعه ای نماینده از پرس و جوها ایجاد کنید که انتظار دارید با آنها روبرو شوید. سپس می توانید پرس و جوها را بر اساس امتیاز پیش بینی در پاسخ مرتب کنید و یک آستانه خوب برای مورد استفاده خود انتخاب کنید.
یک پاسخ مستدل
اگر درخواست شما با موفقیت در جستجوی 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 مراجعه کنید.