Fitur Grounding dengan Google Penelusuran di Gemini API dan AI Studio dapat digunakan untuk meningkatkan akurasi dan keaktualan respons dari model. Selain respons yang lebih faktual, saat Perujukan dengan Google Penelusuran diaktifkan, Gemini API akan menampilkan sumber perujukan (link pendukung inline) dan Saran Google Penelusuran beserta konten respons. Saran Penelusuran mengarahkan pengguna ke hasil penelusuran yang sesuai dengan respons yang berdasar.
Perujukan dengan Google Penelusuran hanya mendukung perintah teks. Model ini tidak mendukung perintah multimodal (teks dan gambar, teks dan audio, dll.). Grounding dengan Google Penelusuran mendukung semua bahasa yang tersedia untuk model Gemini.
Panduan ini akan membantu Anda memulai Perujukan dengan Google Penelusuran menggunakan salah satu Gemini API SDK atau REST API.
Mengonfigurasi model untuk menggunakan Google Penelusuran
Mengapa Perujukan dengan Google Penelusuran berguna?
Dalam AI generatif, pembekalan dasar mengacu pada proses menghubungkan model ke sumber informasi yang dapat diverifikasi. Sumber ini mungkin memberikan informasi tempat kerja di dunia nyata atau konteks spesifik lainnya. Pembumian membantu meningkatkan akurasi, keandalan, dan kegunaan output AI.
Pembumian sangat penting untuk perintah yang memerlukan informasi terbaru dari web. Dengan menggunakan perujukan, model dapat mengakses informasi di luar tanggal batas pengetahuannya, mendapatkan sumber informasi, dan menjawab pertanyaan yang tidak dapat dijawab secara akurat.
Dengan Google AI Studio atau Gemini API, Anda dapat melandaskan output model ke Google Penelusuran. Pembumian dengan Google Penelusuran memberikan manfaat berikut:
- Mengizinkan respons model yang terikat dengan konten tertentu.
- Mengurangi halusinasi model, yang merupakan kasus saat model menghasilkan konten yang tidak faktual.
- Mengaitkan respons model ke sumber yang dapat diklik dan dibuka oleh pengguna.
- Meningkatkan kepercayaan dan penerapan konten yang dihasilkan.
Saat menggunakan Perujukan dengan Google Penelusuran, Anda secara efektif menghubungkan model ke hasil Penelusuran yang andal dari internet. Karena respons model yang tidak berdasar didasarkan pada pola yang dipelajari, Anda mungkin tidak mendapatkan respons faktual terhadap perintah tentang peristiwa terkini (misalnya, meminta prakiraan cuaca atau skor akhir pertandingan sepak bola terbaru). Karena internet menyediakan akses ke informasi baru, perintah yang didasarkan pada data dapat menghasilkan respons yang lebih terbaru, dengan sumber yang dikutip.
Berikut adalah contoh yang membandingkan respons yang tidak di-grounding dan respons yang di-grounding yang dihasilkan menggunakan API. (Respons dibuat pada Oktober 2024.)
Gemini yang tidak terhubung ke ground | Perujukan dengan Google Penelusuran |
---|---|
Perintah: Siapa yang memenangkan Super Bowl tahun ini? Respons: Kansas City Chiefs memenangkan Super Bowl LVII tahun ini (2023). |
Perintah: Siapa yang memenangkan Super Bowl tahun ini? Respons: Kansas City Chiefs memenangkan Super Bowl LVIII tahun ini, mengalahkan San Francisco 49ers dalam perpanjangan waktu dengan skor 25-22. |
Dalam respons yang tidak beralasan, model merujuk pada kemenangan Super Bowl Kansas City Chiefs 2023. Dalam respons yang berisi rujukan, model merujuk dengan benar pada kemenangan mereka yang lebih baru pada tahun 2024.
Gambar berikut menunjukkan tampilan respons yang beralasan di AI Studio.
Saran Google Penelusuran
Untuk menggunakan Grounding dengan Google Penelusuran, Anda harus menampilkan Saran Google Penelusuran, yang merupakan kueri yang disarankan dan disertakan dalam metadata respons yang di-grounding. Untuk mempelajari persyaratan tampilan lebih lanjut, lihat Menggunakan Saran Google Penelusuran.
Pengambilan dinamis
Beberapa kueri cenderung mendapatkan manfaat lebih besar dari Perujukan dengan Google Penelusuran daripada kueri lainnya. Fitur pengambilan dinamis memberi Anda kontrol tambahan terkait waktu penggunaan Perujukan dengan Google Penelusuran.
Jika mode pengambilan dinamis tidak ditentukan, Pembumian dengan Google Penelusuran akan selalu dipicu. Jika mode disetel ke dinamis, model akan memutuskan kapan harus menggunakan pembumian berdasarkan nilai minimum yang dapat Anda konfigurasi. Nilai minimum adalah nilai floating point dalam rentang [0,1] dan default-nya adalah 0,3. Jika nilai nilai minimum adalah 0, respons selalu didasarkan pada Google Penelusuran; jika nilainya 1, respons tidak pernah didasarkan pada Google Penelusuran.
Cara kerja pengambilan dinamis
Anda dapat menggunakan pengambilan dinamis dalam permintaan untuk memilih kapan akan mengaktifkan Perujukan dengan Google Penelusuran. Hal ini berguna jika perintah tidak memerlukan jawaban yang didasarkan pada Google Penelusuran dan model dapat memberikan jawaban berdasarkan pengetahuannya sendiri tanpa dasar. Hal ini membantu Anda mengelola latensi, kualitas, dan biaya secara lebih efektif.
Sebelum memanggil konfigurasi pengambilan dinamis dalam permintaan, pahami terminologi berikut:
Skor prediksi: Saat Anda meminta jawaban yang berdasar, Gemini akan menetapkan skor prediksi ke perintah. Skor prediksi adalah nilai floating point dalam rentang [0,1]. Nilainya bergantung pada apakah perintah dapat memanfaatkan perujukan jawaban dengan informasi terbaru dari Google Penelusuran. Dengan demikian, jika perintah memerlukan jawaban yang didasarkan pada fakta terbaru di web, perintah tersebut memiliki skor prediksi yang lebih tinggi. Perintah yang jawabannya dihasilkan model memiliki skor prediksi yang lebih rendah.
Berikut adalah contoh beberapa perintah dan skor prediksinya.
Perintah Skor prediksi Komentar "Tulis puisi tentang peony" 0,13 Model dapat mengandalkan pengetahuannya dan jawabannya tidak memerlukan perujukan. "Sarankan mainan untuk anak berusia 2 tahun" 0,36 Model dapat mengandalkan pengetahuannya dan jawabannya tidak memerlukan perujukan. "Bisakah Anda memberikan resep guacamole bergaya Asia?" 0.55 Google Penelusuran dapat memberikan jawaban yang berdasar, tetapi dasar tidak mutlak diperlukan; pengetahuan model mungkin sudah memadai. "Apa itu Agent Builder? How is grounding billed in Agent Builder?" 0,72 Memerlukan Google Penelusuran untuk menghasilkan jawaban yang berdasar. "Siapa yang memenangkan grand prix F1 terbaru?" 0,97 Memerlukan Google Penelusuran untuk menghasilkan jawaban yang berdasar. Batas: Dalam permintaan API, Anda dapat menentukan konfigurasi pengambilan dinamis dengan batas. Batas adalah nilai floating point dalam rentang [0,1] dan default-nya adalah 0,7. Jika nilai nilai minimumnya nol, respons akan selalu dihubungkan dengan Google Penelusuran. Untuk semua nilai batas lainnya, hal berikut berlaku:
- Jika skor prediksi lebih besar dari atau sama dengan nilai minimum, jawaban akan didasarkan pada Google Penelusuran. Batas yang lebih rendah menyiratkan bahwa lebih banyak perintah memiliki respons yang dibuat menggunakan Perujukan dengan Google Penelusuran.
- Jika skor prediksi kurang dari nilai minimum, model mungkin masih membuat jawaban, tetapi tidak didasarkan pada Google Penelusuran.
Untuk mempelajari cara menetapkan nilai minimum pengambilan dinamis menggunakan SDK atau REST API, lihat contoh kode yang sesuai.
Jika menggunakan AI Studio, Anda dapat menetapkan nilai minimum pengambilan dinamis dengan mengklik Edit grounding.
Untuk menemukan nilai minimum yang sesuai dengan kebutuhan bisnis Anda, Anda dapat membuat kumpulan kueri perwakilan yang diperkirakan akan Anda temui. Kemudian, Anda dapat mengurutkan kueri sesuai dengan skor prediksi dalam respons dan memilih nilai minimum yang baik untuk kasus penggunaan Anda.
Respons yang dirujuk
Jika perintah Anda berhasil dihubungkan ke Google Penelusuran, respons akan menyertakan
groundingMetadata
. Respons yang di-ground mungkin terlihat seperti ini
(bagian respons telah dihilangkan agar singkat):
{
"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"
]
}
}
],
...
}
Jika respons tidak menyertakan groundingMetadata
, artinya respons
tidak berhasil didasarkan. Ada beberapa alasan hal ini dapat terjadi,
termasuk relevansi sumber yang rendah atau informasi yang tidak lengkap dalam
respons model.
Saat hasil yang di-grounding dihasilkan, metadata akan berisi URI yang mengalihkan
ke penayang konten yang digunakan untuk menghasilkan hasil yang di-grounding.
URI ini berisi subdomain vertexaisearch
, seperti dalam contoh yang terpotong ini:
https://vertexaisearch.cloud.google.com/grounding-api-redirect/...
. Metadata
juga berisi domain penayang. URI yang diberikan tetap dapat diakses selama 30 hari setelah hasil yang di-grounding dihasilkan.
Kolom renderedContent
dalam searchEntryPoint
adalah kode yang disediakan untuk
menerapkan Saran Penelusuran Google. Lihat
Menggunakan Saran Google Penelusuran
untuk mempelajari lebih lanjut.