Grounding

Dalam AI generatif, perujukan 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:

  • Menyematkan dengan Google Penelusuran - menyematkan model dengan data web yang tersedia secara publik.
  • Grounding ke data Anda sendiri - melakukan grounding model dengan data Anda sendiri 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.

GoogleSearchRetrieval

Mendasarkan respons pada data publik.

Parameter

google_search_retrieval

Wajib: Object

Dasar dengan data web yang tersedia untuk umum.

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

source

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

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: