API Grounding

Dalam AI generatif, grounding adalah kemampuan untuk menghubungkan output model dengan sumber informasi yang dapat diverifikasi. Jika Anda memberi model akses ke sumber data tertentu, grounding akan mengaitkan outputnya ke data ini dan mengurangi peluang pembuatan konten yang dikarang-karang.

Dengan Vertex AI, Anda dapat melakukan grounding output model dengan cara berikut:

  • Merujuk dengan Google Penelusuran - merujuk model dengan data web yang tersedia secara publik.
  • Merujuk dengan Google Maps - merujuk model dengan data geospasial dari Google Maps.
  • Hubungkan ke data Anda - hubungkan model dengan data Anda dari Vertex AI Search sebagai penyimpanan data.

Untuk mengetahui informasi selengkapnya tentang perujukan, lihat Ringkasan perujukan.

Model yang didukung

Daftar parameter

Lihat contoh untuk mengetahui detail implementasi.

googleSearch

Men-grounding respons dengan data web yang tersedia secara publik dari Google Penelusuran.

googleMaps

Mendasarkan respons dengan data geospasial yang tersedia untuk umum dari Google Maps.

Input API mencakup parameter berikut:

Parameter input

enable_widget

Wajib: boolean

Flag yang dapat disetel ke true atau false. Nilai true menampilkan token menggunakan respons API yang dapat Anda gunakan dengan antarmuka pengguna widget konteks Google Maps.

Struktur respons API mencakup parameter berikut:

Parameter respons

grounding_metadata

Wajib: Object

Kolom utama yang berisi informasi perujukan.

  • grounding_support: Sub-kolom yang menunjukkan tingkat dukungan perujukan.
  • grounding_chunks.maps: Sub-bidang yang berisi sumber tempat yang digunakan untuk membuat respons yang memiliki rujukan.
    • place_answer_sources.review_snippets: Sub-kolom dalam grounding_chunks.maps yang muncul saat jawaban tempat digunakan untuk menjawab kueri. Jawaban tempat memberikan informasi kontekstual yang lebih mendalam tentang tempat tertentu menggunakan data, seperti ulasan pengguna. Jawaban tempat didukung oleh daftar sumber seperti ulasan pengguna.

Atribut

Sumber ulasan pengguna atau tempat memiliki atribut berikut:

Atribut

title

Wajib: Object

Judul sumber.

uri

Wajib: string

URI yang ditautkan ke sumber.

place_id

Wajib: string

ID unik untuk tempat.

review_id

Wajib: string

ID unik untuk ulasan.

retrieval

Lakukan grounding respons dengan data pribadi dari Vertex AI Search sebagai penyimpanan data. Menentukan alat pengambilan yang dapat dipanggil model untuk mengakses pengetahuan eksternal.

Parameter

vertexAiSearch

Wajib: VertexAISearch

Lakukan grounding dengan sumber data Vertex AI Search.

VertexAISearch

Parameter

datastore

Wajib: string

ID resource penyimpanan data yang sepenuhnya memenuhi syarat dari Vertex AI Search, dalam format berikut: projects/{project}/locations/{location}/collections/default_collection/dataStores/{datastore}

Contoh

Bagian ini memberikan contoh untuk melakukan grounding respons pada data web publik menggunakan Google Penelusuran dan melakukan grounding respons pada data pribadi menggunakan Vertex AI Search.

Menghubungkan respons pada data web publik menggunakan Google Penelusuran

Menyertakan data publik Google Penelusuran dalam respons. Sertakan alat google_search_retrieval dalam permintaan. Tidak ada parameter tambahan yang diperlukan.

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.5-flash",
    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 ...'

Go

Pelajari cara menginstal atau mengupdate 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.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "When is the next total solar eclipse in the United States?"},
		},
			Role: "user"},
	}
	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 := resp.Text()

	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
}

Melakukan grounding respons pada data pribadi menggunakan Vertex AI Search

Melakukan grounding respons dengan data dari penyimpanan data Vertex AI Search. Untuk mengetahui informasi selengkapnya, lihat Aplikasi AI.

Sebelum melakukan grounding respons dengan data pribadi, buat penyimpanan data dan aplikasi penelusuran.

PERINGATAN: Untuk saat ini, antarmuka "perujukan" ini tidak mendukung "mode potongan" Vertex AI Search.

Gen AI SDK untuk Python

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

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

# Load Data Store ID from Vertex AI Search
# datastore = "projects/111111111111/locations/global/collections/default_collection/dataStores/data-store-id"

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="How do I make an appointment to renew my driver's license?",
    config=GenerateContentConfig(
        tools=[
            # Use Vertex AI Search Tool
            Tool(
                retrieval=Retrieval(
                    vertex_ai_search=VertexAISearch(
                        datastore=datastore,
                    )
                )
            )
        ],
    ),
)

print(response.text)
# Example response:
# 'The process for making an appointment to renew your driver's license varies depending on your location. To provide you with the most accurate instructions...'

Langkah berikutnya

Untuk dokumentasi mendetail, lihat berikut ini: