Освоение основ поиска Google

Интеграция с поиском Google позволяет модели Gemini подключаться к веб-контенту в режиме реального времени и работать со всеми доступными языками. Это дает Gemini возможность давать более точные ответы и ссылаться на проверенные источники, выходящие за рамки ее собственных знаний.

Заземление помогает создавать приложения, которые могут:

  • Повышение точности фактов: уменьшение количества иллюзорных моделей за счет того, что ответы основываются на информации из реального мира.
  • Получайте доступ к информации в режиме реального времени: отвечайте на вопросы о последних событиях и темах.
  • Укажите источники: укрепите доверие пользователей, показав ссылки на источники утверждений, содержащихся в модели.

Python

from google import genai

client = genai.Client()

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

# Print the model's text response
for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)

JavaScript

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

const client = new GoogleGenAI({});

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

const modelStep = interaction.steps.find(s => s.type === 'model_output');
if (modelStep) {
  for (const contentBlock of modelStep.content) {
    if (contentBlock.type === 'text') console.log(contentBlock.text);
  }
}

ОТДЫХ

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-flash-preview",
    "input": "Who won the euro 2024?",
    "tools": [{"type": "google_search"}]
  }'

Как работает заземление с помощью поиска Google.

При включении инструмента google_search модель автоматически обрабатывает весь рабочий процесс поиска, обработки и цитирования информации.

Обзор заземления

  1. Запрос пользователя: Ваше приложение отправляет запрос пользователя в API Gemini с включенным инструментом google_search .
  2. Анализ запроса: Модель анализирует запрос и определяет, может ли поиск в Google улучшить ответ.
  3. Поиск Google: При необходимости модель автоматически генерирует один или несколько поисковых запросов и выполняет их.
  4. Обработка результатов поиска: Модель обрабатывает результаты поиска, синтезирует информацию и формирует ответ.
  5. Ответ, основанный на результатах поиска: API возвращает окончательный, удобный для пользователя ответ, основанный на результатах поиска. Этот ответ включает текстовый ответ модели с встроенными annotations , содержащими цитаты, а также шаги google_search_call и google_search_result с поисковыми запросами и подсказками.

Понимание реакции заземления

Когда ответ успешно обоснован, текстовый вывод модели включает в себя встроенные annotations непосредственно в блок текстового содержимого. Эти аннотации содержат информацию о цитировании, связывающую части ответа с их источниками.

{
  "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
            }
          ]
        }
      ]
    }
  ]
}

Ключевые поля в ответе:

  • google_search_call : Содержит поисковые queries выполненные моделью.
  • google_search_result : Содержит search_suggestions , фрагмент HTML-кода для отображения поисковых подсказок в пользовательском интерфейсе. Полные требования к использованию подробно описаны в Условиях предоставления услуг .
  • text с annotations : синтезированный моделью ответ с встроенными цитатами. Каждая аннотация url_citation связывает текстовый сегмент (определяемый параметрами start_index и end_index ) с исходным URL-адресом. Это ключ к созданию встроенных цитат.

Функция сопоставления данных с результатами поиска Google также может использоваться в сочетании с инструментом контекстного анализа URL-адресов для сопоставления ответов как с общедоступными веб-данными, так и с конкретными предоставленными вами URL-адресами.

Указание источников с помощью внутритекстовых ссылок

API возвращает встроенные аннотации url_citation для текстового блока, предоставляя вам полный контроль над отображением источников в пользовательском интерфейсе. Каждая аннотация включает start_index и end_index чтобы определить, на какую часть текста она ссылается. Вот как их извлечь и отобразить.

Python

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nCitations:")
                    for annotation in content_block.annotations:
                        if annotation.type == "url_citation":
                            cited_text = content_block.text[annotation.start_index:annotation.end_index]
                            print(f"  [{annotation.title}]({annotation.url})")
                            print(f"    Cited text: \"{cited_text}\"")

JavaScript

for (const step of interaction.steps) {
  if (step.type === 'model_output') {
    for (const contentBlock of step.content) {
      if (contentBlock.type === 'text') {
        console.log(contentBlock.text);
        if (contentBlock.annotations) {
          console.log("\nCitations:");
          for (const annotation of contentBlock.annotations) {
            if (annotation.type === 'url_citation') {
              const citedText = contentBlock.text.slice(annotation.startIndex, annotation.endIndex);
              console.log(`  [${annotation.title}](${annotation.url})`);
              console.log(`    Cited text: "${citedText}"`);
            }
          }
        }
      }
    }
  }
}

В результате будет отображен текст, за которым следуют ссылки на него:

Spain won Euro 2024, defeating England 2-1 in the final. This victory marks Spain's record fourth European Championship title.

Citations:
  [aljazeera.com](https://www.aljazeera.com/sports/euro-2024-final)
    Cited text: "Spain won Euro 2024, defeating England 2-1 in the final."
  [uefa.com](https://www.uefa.com/euro2024/news/spain-wins-euro-2024)
    Cited text: "This victory marks Spain's record fourth European Championship title."

Цены

При использовании функции Grounding с поиском Google в Gemini 3 ваш проект оплачивается за каждый поисковый запрос, который модель решает выполнить. Если модель решает выполнить несколько поисковых запросов для ответа на один запрос (например, поиск "UEFA Euro 2024 winner" и "Spain vs England Euro 2024 final score" в рамках одного вызова API), это считается двумя оплачиваемыми использованиями инструмента для этого запроса. В целях выставления счетов мы игнорируем пустые поисковые запросы при подсчете уникальных запросов. Эта модель выставления счетов применяется только к моделям Gemini 3; при использовании функции Grounding с моделями Gemini 2.5 или более старыми версиями ваш проект оплачивается за каждый запрос.

Подробную информацию о ценах см. на странице цен Gemini API .

Поддерживаемые модели

Полный список возможностей модели можно найти на странице обзора модели .

Модель Освоение основ поиска Google
Предварительный просмотр изображения Gemini 3.1 Flash ✔️
Gemini 3.1 Pro Preview ✔️
Предварительный просмотр изображения Gemini 3 Pro ✔️
Предварительный просмотр Gemini 3 Flash ✔️
Gemini 2.5 Pro ✔️
Вспышка Gemini 2.5 ✔️
Фонарь Gemini 2.5 Flash-Lite ✔️
Gemini 2.0 Flash ✔️

Поддерживаемые комбинации инструментов

Вы можете использовать функцию Grounding с поиском Google в сочетании с другими инструментами, такими как выполнение кода и контекст URL-адреса, для решения более сложных задач.

В моделях Gemini 3 поддерживается комбинирование встроенных инструментов (например, заземление с поиском Google) с пользовательскими инструментами (вызов функций). Подробнее см. на странице с описанием комбинаций инструментов .

Что дальше?