Perujukan dengan Google Penelusuran

Halaman ini menjelaskan cara melandasi respons model menggunakan Google Penelusuran, yang menggunakan data web yang tersedia secara publik.

Jika Anda ingin menghubungkan model dengan informasi global, rentang potensi topik yang luas, atau informasi terbaru di Internet, gunakan Grounding dengan Google Penelusuran.

Untuk mempelajari lebih lanjut grounding model di Vertex AI, lihat Ringkasan grounding.

Model yang didukung

Bagian ini mencantumkan model yang mendukung grounding dengan Penelusuran.

Bahasa yang didukung

Untuk mengetahui daftar bahasa yang didukung, lihat Bahasa.

Gunakan petunjuk berikut untuk me-grounding model dengan data web yang tersedia secara publik.

Pertimbangan

  • Untuk menggunakan grounding dengan Google Penelusuran, Anda harus mengaktifkan Saran Google Penelusuran. Lihat selengkapnya di Menggunakan saran Google Penelusuran.

  • Untuk hasil yang ideal, gunakan suhu 0.0. Untuk mempelajari lebih lanjut cara menetapkan konfigurasi ini, lihat isi permintaan Gemini API dari referensi model.

  • Grounding dengan Google Penelusuran memiliki batas satu juta kueri per hari. Jika Anda memerlukan kueri lainnya, hubungi dukunganGoogle Cloud untuk mendapatkan bantuan.

Konsol

Untuk menggunakan Grounding dengan Google Penelusuran dengan Vertex AI Studio, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Klik tab Freeform.
  3. Di panel samping, klik tombol Ground model responses.
  4. Klik Sesuaikan dan tetapkan Google Penelusuran sebagai sumber.
  5. Masukkan perintah Anda di kotak teks, lalu klik Kirim.

Respons perintah Anda kini di-grounding ke Google Penelusuran.

Gen AI SDK for Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    GoogleSearch,
    HttpOptions,
    Tool,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

response = client.models.generate_content(
    model="gemini-2.0-flash-001",
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[
            # Use Google Search Tool
            Tool(google_search=GoogleSearch())
        ],
    ),
)

print(response.text)
# Example response:
# 'The next total solar eclipse in the United States will occur on ...'

Gen AI SDK for Go

Pelajari cara menginstal atau mengupdate Gen AI SDK for Go.

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithGoogleSearch shows how to generate text using Google Search.
func generateWithGoogleSearch(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.0-flash-001"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "When is the next total solar eclipse in the United States?"},
		}},
	}
	config := &genai.GenerateContentConfig{
		Tools: []*genai.Tool{
			{GoogleSearch: &genai.GoogleSearch{}},
		},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText, err := resp.Text()
	if err != nil {
		return fmt.Errorf("failed to convert model response to text: %w", err)
	}
	fmt.Fprintln(w, respText)

	// Example response:
	// The next total solar eclipse in the United States will occur on March 30, 2033, but it will only ...

	return nil
}

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region untuk memproses permintaan.
  • PROJECT_ID: Project ID Anda.
  • MODEL_ID: ID model model multimodal. Model Gemini 2.0 tidak mendukung pengambilan dinamis.
  • TEXT: Petunjuk teks yang akan disertakan dalam perintah.
  • DYNAMIC_THRESHOLD: Kolom opsional untuk menetapkan nilai minimum guna memanggil konfigurasi pengambilan dinamis. Ini adalah nilai floating point dalam rentang [0,1]. Jika Anda tidak menetapkan kolom dynamicThreshold, nilai nilai minimum akan ditetapkan secara default ke 0,7.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

Meminta isi JSON:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "googleSearchRetrieval": {
      "dynamicRetrievalConfig": {
        "mode": "MODE_DYNAMIC",
        "dynamicThreshold": DYNAMIC_THRESHOLD
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
   "candidates": [
     {
       "content": {
         "role": "model",
         "parts": [
           {
             "text": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer."
           }
         ]
       },
       "finishReason": "STOP",
       "safetyRatings":[
       "..."
    ],
       "groundingMetadata": {
         "webSearchQueries": [
           "What's the weather in Chicago this weekend?"
         ],
         "searchEntryPoint": {
            "renderedContent": "....................."
         }
         "groundingSupports": [
            {
              "segment": {
                "startIndex": 0,
                "endIndex": 65,
                "text": "Chicago weather changes rapidly, so layers let you adjust easily."
              },
              "groundingChunkIndices": [
                0
              ],
              "confidenceScores": [
                0.99
              ]
            },
          ]
          "retrievalMetadata": {
              "webDynamicRetrievalScore": 0.96879
            }
       }
     }
   ],
   "usageMetadata": { "..."
   }
 }

Memahami respons Anda

Jika perintah model Anda berhasil di-grounding ke Google Penelusuran dari Vertex AI Studio atau dari API, respons akan menyertakan metadata dengan link sumber (URL web). Namun, ada beberapa alasan metadata ini mungkin tidak diberikan, dan respons perintah tidak akan didasarkan. Alasan ini meliputi relevansi sumber yang rendah atau informasi yang tidak lengkap dalam respons model.

Dukungan grounding

Menampilkan dukungan dasar direkomendasikan karena membantu Anda memvalidasi respons dari penayang dan menambahkan jalur untuk pembelajaran lebih lanjut.

Dukungan dasar untuk respons dari sumber Google Penelusuran harus ditampilkan secara inline dan gabungan. Misalnya, lihat gambar berikut sebagai saran tentang cara melakukannya.

Contoh dukungan grounding

Penggunaan opsi mesin telusur alternatif

Penggunaan Grounding dengan Google Penelusuran oleh Pelanggan tidak mencegah Pelanggan menawarkan opsi mesin penelusuran alternatif, menjadikan opsi penelusuran alternatif sebagai opsi default untuk Aplikasi Pelanggan, atau menampilkan saran penelusuran atau hasil penelusuran mereka sendiri atau pihak ketiga di Aplikasi Pelanggan, dengan ketentuan bahwa layanan non-Google Penelusuran atau hasil terkait tersebut ditampilkan secara terpisah dari Hasil yang Di-Grounding dan Saran Penelusuran dan tidak dapat secara wajar diatribusikan ke, atau dikacaukan dengan, hasil yang disediakan oleh Google.

Menggunakan Grounding dengan Google Penelusuran sebagai alat

Dengan melakukan grounding dengan Google Penelusuran, Anda dapat memberikan informasi terbaru dan paling akurat ke model untuk meningkatkan respons model. Model Gemini 2.0 dan yang lebih baru dapat menggunakan Google Penelusuran sebagai alat dengan cara berikut:

  • Model dapat memutuskan kapan harus menggunakan Google Penelusuran.
  • Anda dapat mengaktifkan penelusuran multi-giliran dan kueri multi-alat.

Contoh berikut menunjukkan cara mengonfigurasi Google Penelusuran sebagai alat.

  from google import genai
  from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

  client = genai.Client()
  model_id = "gemini-2.0-flash-001"

  google_search_tool = Tool(
      google_search = GoogleSearch()
  )

  response = client.models.generate_content(
      model=model_id,
      contents="When is the next total solar eclipse in the United States?",
      config=GenerateContentConfig(
          tools=[google_search_tool],
          response_modalities=[text="TEXT"],
      )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content. This also includes Search Suggestions
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

Manfaat

Perintah dan alur kerja kompleks berikut yang memerlukan perencanaan, penalaran, dan pemikiran dapat dilakukan saat Anda menggunakan Google Penelusuran sebagai alat:

  • Anda dapat melakukan grounding untuk membantu memastikan respons didasarkan pada informasi terbaru dan paling akurat.
  • Anda dapat mengambil artefak dari web untuk melakukan analisis.
  • Anda dapat menemukan gambar, video, atau media lain yang relevan untuk membantu dalam pemikiran multimodal atau pembuatan tugas.
  • Anda dapat melakukan coding, pemecahan masalah teknis, dan tugas khusus lainnya.
  • Anda dapat menemukan informasi khusus wilayah, atau membantu menerjemahkan konten secara akurat.
  • Anda dapat menemukan situs yang relevan untuk dijelajahi.

Langkah berikutnya