Grounding z użyciem wyszukiwarki Google

Powiązanie ze źródłem informacji przy użyciu wyszukiwarki Google łączy model Gemini z treściami z internetu w czasie rzeczywistym i działa we wszystkich dostępnych językach. Pozwala to Gemini udzielać dokładniejszych odpowiedzi i cytować zweryfikowane źródła poza jego granicą wiedzy.

Grounding pomaga tworzyć aplikacje, które mogą:

  • Zwiększać dokładność faktów: zmniejszaj halucynacje modelu, opierając odpowiedzi na informacjach ze świata rzeczywistego.
  • Uzyskiwać dostęp do informacji w czasie rzeczywistym: odpowiadaj na pytania dotyczące najnowszych wydarzeń i tematów.
  • Podawać cytaty: buduj zaufanie użytkowników, pokazując źródła twierdzeń modelu.

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Who won the euro 2024?",
    tools=[{"type": "google_search"}]
)

print(interaction.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3.6-flash",
    input: "Who won the euro 2024?",
    tools: [{ type: "google_search" }]
});

console.log(interaction.output_text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.6-flash",
    "input": "Who won the euro 2024?",
    "tools": [{"type": "google_search"}]
  }'

Jak działa powiązanie ze źródłami informacji przy użyciu wyszukiwarki Google

Gdy włączysz narzędzie google_search, model automatycznie obsługuje cały przepływ pracy związany z wyszukiwaniem, przetwarzaniem i cytowaniem informacji.

grounding-overview

  1. Prompt użytkownika: Twoja aplikacja wysyła prompt użytkownika do Gemini API z włączonym narzędziem google_search.
  2. Analiza prompta: model analizuje prompt i określa, czy wyszukiwanie w Google może poprawić odpowiedź.
  3. Wyszukiwanie w Google: w razie potrzeby model automatycznie generuje jedno lub kilka zapytań i je wykonuje.
  4. Przetwarzanie wyników wyszukiwania: model przetwarza wyniki wyszukiwania, syntetyzuje informacje i formułuje odpowiedź.
  5. Odpowiedź oparta na wynikach wyszukiwania: interfejs API zwraca ostateczną, przyjazną dla użytkownika odpowiedź opartą na wynikach wyszukiwania. Ta odpowiedź zawiera tekstową odpowiedź modelu z wbudowanymi annotations zawierającymi cytaty, a także kroki google_search_call i google_search_result z zapytaniami i sugestiami wyszukiwania.

Informacje o odpowiedzi opartej na wynikach wyszukiwania

Gdy odpowiedź jest oparta na wynikach wyszukiwania, tekstowe dane wyjściowe modelu zawierają wbudowane annotations bezpośrednio w bloku treści tekstowej. Te adnotacje zawierają informacje o cytowaniu, które łączą części odpowiedzi z ich źródłami.

{
  "steps": [
    {
      "type": "thought",
      "summary": [
        {
          "type": "text",
          "text": "The user is asking for the winner of Euro 2024. I need to search for the result of the Euro 2024 final."
        }
      ],
      "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0..."
    },
    {
      "type": "google_search_call",
      "arguments": {
        "queries": ["UEFA Euro 2024 winner"]
      }
    },
    {
      "type": "google_search_result",
      "call_id": "search_001",
      "result": [
        {
          "search_suggestions": "<!-- HTML and CSS for the search widget -->"
        }
      ]
    },
    {
      "type": "model_output",
      "content": [
        {
          "type": "text",
          "text": "Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.",
          "annotations": [
            {
              "type": "url_citation",
              "url": "https://www.aljazeera.com/sports/euro-2024-final",
              "title": "aljazeera.com",
              "start_index": 0,
              "end_index": 56
            },
            {
              "type": "url_citation",
              "url": "https://www.uefa.com/euro2024/news/spain-wins-euro-2024",
              "title": "uefa.com",
              "start_index": 57,
              "end_index": 124
            }
          ]
        }
      ]
    }
  ]
}

Kluczowe pola w odpowiedzi:

  • google_search_call : zawiera queries wyszukiwania wykonane przez model.
  • google_search_result : zawiera search_suggestions, czyli fragment kodu HTML do renderowania sugestii wyszukiwania w interfejsie. Pełne wymagania dotyczące użytkowania są opisane w Warunkach korzystania z usługi.
  • text z annotations : syntetyzowana odpowiedź modelu z wbudowanymi cytatami. Każda adnotacja url_citation łączy segment tekstu (zdefiniowany przez start_index i end_index) z adresem URL źródła. Jest to klucz do tworzenia wbudowanych cytatów.

Powiązanie ze źródłami informacji przy użyciu wyszukiwarki Google można też stosować w połączeniu z narzędziem kontekstu adresu URL, aby opierać odpowiedzi zarówno na publicznych danych internetowych , jak i na konkretnych adresach URL, które podasz.

Podawanie źródeł za pomocą wbudowanych cytatów

Interfejs API zwraca wbudowane adnotacje url_citation w bloku treści tekstowej, co daje Ci pełną kontrolę nad sposobem wyświetlania źródeł w interfejsie. Każda adnotacja zawiera start_index i end_index, aby określić, którą część tekstu cytuje. Oto jak je wyodrębnić i wyświetlić.

Python

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if