Обоснование с Google Картами

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

Обоснование с помощью Google Maps имеет следующие преимущества:

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

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

  • gemini-3.1-pro-preview
  • gemini-3.8-flash (а также более старые версии gemini-3.7-flash, gemini-3.6-flash и gemini-3.5-flash)
  • gemini-3.5-flash-lite (и более ранние версии, например gemini-3.1-flash-lite)

Модели общего назначения Gemini 2.5 поддерживают эту функцию, но все они устарели.

Поддерживаемые языки

Ознакомьтесь со списком поддерживаемых языков для моделей Gemini.

Как использовать Google Maps для обоснования ответов модели

Нажмите на поставщика Gemini API, чтобы посмотреть контент и код, относящиеся к нему.

При создании экземпляра GenerativeModel укажите GoogleMaps в качестве tool, которое модель может использовать для создания ответа.

Swift


import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Example: Coordinates for New York City
let latAndLong = CLLocationCoordinate2D(latitude: 40.7128, longitude: -74.0060)

// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
let retrievalConfig = RetrievalConfig(
    location: latAndLong,
    // Example: Language code for English (US).
    languageCode: "en-US"
)

// Wrap the RetrievalConfig inside a ToolConfig.
let toolConfig = ToolConfig(retrievalConfig: retrievalConfig)

// Create a `GenerativeModel` instance with a model that supports your use case.
let model = ai.generativeModel(
    modelName: "GEMINI_MODEL_NAME",
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools: [Tool.googleMaps()],
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig: toolConfig
)

let response = try await model.generateContent("restaurants near me?")
print(response.text ?? "No text in response.")

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Kotlin


// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
val retrievalConfig = RetrievalConfig(
    // Example: Coordinates for New York City
    latLng = LatLng(latitude = 40.7128, longitude = -74.0060),
    // Example: Language code for English (US)
    languageCode = "en-US"
)

// Wrap the RetrievalConfig inside a ToolConfig.
val toolConfig = ToolConfig(
    retrievalConfig = retrievalConfig
)

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig = toolConfig,
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools = listOf(Tool.googleMaps())
)

val response = model.generateContent("restaurants near me?")
print(response.text)

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Java


// (Optional) Define a ToolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
ToolConfig toolConfig = new ToolConfig(
    null,
    new RetrievalConfig(
        // Example: Coordinates for New York City.
        new LatLng(40.7128, -74.0060),
        // Example: Language code for English (US).
       "en-US"
    )
);

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel("GEMINI_MODEL_NAME",
                        null,
                        null,
                        // Provide Google Maps as a tool that the model can use to generate its response.
                        List.of(Tool.googleMaps()),
                        // Add the configuration for the Grounding with Google Maps tool
                        // (if this optional config was defined above).
                        toolConfig);

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs.
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

ListenableFuture response = model.generateContent("restaurants near me?");
  Futures.addCallback(response, new FutureCallback() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
          String resultText = result.getText();
          System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
          t.printStackTrace();
      }
  }, executor);

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// (Optional) Define a toolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
const toolConfig = {
  retrievalConfig: {
    // Example: Coordinates for New York City
    latLng: {
      latitude: 40.7128,
      longitude: -74.0060
    },
    // Example: Language code for English (US)
    languageCode: 'en-US'
  }
};

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(
  ai,
  {
    model: "GEMINI_MODEL_NAME",
    // Provide Google Maps as a tool that the model can use to generate its response.
    tools: [ { googleMaps: {} } ],
    // Add the configuration for the Grounding with Google Maps tool
    // (if this optional config was defined above).
    toolConfig
  }
);

const result = await model.generateContent("restaurants near me?");

console.log(result.response.text());

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Dart


import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_ai/firebase_ai.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp.
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// (Optional) Define a ToolConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
final toolConfig = ToolConfig(
  retrievalConfig: RetrievalConfig(
    // Example: Coordinates for New York City.
    latLng: LatLng(latitude: 40.712728, longitude: -74.006015),
    // Example: Language code for English (US).
    languageCode: 'en-US',
  ),
);

// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  // Provide Google Maps as a tool that the model can use to generate its response.
  tools: [
    Tool.googleMaps(),
  ],
  // Add the configuration for the Grounding with Google Maps tool
  // (if this optional config was defined above).
  toolConfig: toolConfig,
);

final response = await model.generateContent([Content.text("restaurants near me?")]);
print(response.text);

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Example: Coordinates for New York City
var latLng = new LatLng(40.7128, -74.0060);

// (Optional) Define a RetrievalConfig to configure the Grounding with Google Maps tool.
// You can optionally provide a location's coordinates and/or a language code
// for more relevant and personalized Google Maps results.
var retrievalConfig = new RetrievalConfig(latLng, languageCode: "en");

// Wrap the RetrievalConfig inside a ToolConfig.
var toolConfig = new ToolConfig(retrievalConfig: retrievalConfig);

// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  // Provide Google Maps as a tool that the model can use to generate its response.
  tools: new[] { new Tool(new GoogleMaps()) },
  // Add the configuration for the Grounding with Google Maps tool
  // (if this optional config was defined above).
  toolConfig: toolConfig
);

var response = await model.GenerateContentAsync("restaurants near me?");
UnityEngine.Debug.Log(response.Text ?? "No text in response.");

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements

Узнайте, как выбрать модель для вашего приложения и варианта использования.

Советы и рекомендации по повышению эффективности

В этом разделе описаны общие рекомендации по использованию Grounding с Google Maps, а также рассказывается, как использовать свойства мест для улучшения результатов.

Общие рекомендации

  • Предоставляйте доступ к инструменту только при необходимости. Чтобы оптимизировать производительность и расходы, предоставляйте модели доступ к инструменту Grounding with Google Maps только в тех случаях, когда у запроса есть четкий географический контекст.

  • Укажите местоположение пользователя. Чтобы ответы были наиболее релевантными и персонализированными (если местоположение пользователя известно), добавьте его (с помощью широты и долготы через latLng) в конфигурацию инструмента Grounding with Google Maps.

  • Уведомляйте конечных пользователей. Четко сообщайте конечным пользователям, что для ответа на их запросы используются данные Google Maps. Предоставление конечным пользователям источников из Google Maps является требованием к использованию сервиса для инструмента "Обоснование с помощью Google Maps".

Как использовать свойства мест в запросах

В этом разделе перечислены свойства мест, которые используются для описания местоположений и применяются в Grounding с Google Maps для создания ответов. Эти свойства используются, чтобы определить, на какие вопросы может отвечать функция "Обоснование с помощью Google Maps".

Примеры свойств мест

В этом списке в алфавитном порядке приведены некоторые свойства мест, которые модель может использовать для создания ответов.

  • Адрес
  • Заказ с улицы
  • Дебетовая карта
  • Расстояние
  • Бесплатная парковка
  • Живая музыка
  • Детское меню
  • Часы работы
  • Способы оплаты, например наличные или кредитная карта.
  • Ответы на вопросы о местах
  • Можно с животными
  • Пиво
  • Вегетарианские блюда
  • Доступ для инвалидов-колясочников
  • Wi-Fi

Ответы о местах – это ответы от Grounding с Google Maps на основе информации из отзывов пользователей.

Примеры запросов, в которых используются свойства мест

В приведенных ниже примерах используются свойства мест в запросах о разных типах мест. При обосновании с помощью Google Maps используются свойства, чтобы понять ваш запрос и предоставить релевантные ответы на основе данных, связанных с местами в Google Maps.

  • Планирование семейного ужина. Узнайте, подходит ли ресторан для семейного отдыха и предлагает ли он удобные услуги.

    • Пример запроса: Подходит ли ресторан "Итальянское место" для детей и можно ли заказать еду на вынос? Какой у него рейтинг?
  • Проверить доступность для друга. Узнайте, соответствует ли местоположение особым потребностям.

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

    • Пример запроса: "Ресторан "Бургерная" сейчас открыт?" Здесь подают ужин? Какие у них часы работы в пятницу?
  • Встреча с клиентом в кафе. Оцените, подходит ли кафе для деловой встречи, учитывая удобства, ассортимент и способы оплаты.

    • Пример запроса: Есть ли в кафе "Центральное" Wi-Fi? Здесь подают кофе? Какой у них уровень цен и принимают ли они кредитные карты?

Обратите внимание, что информация в Google Mapsобоснованных результатах может отличаться от реальной ситуации на дороге.

Как работает обоснование с помощью Google Maps

Если вы предоставите модели инструмент GoogleMaps, она автоматически выполнит все этапы поиска, обработки и цитирования информации.

Вот рабочий процесс модели:

  1. Получает запрос. Ваше приложение отправляет запрос модели Gemini с включенным инструментом GoogleMaps.

  2. Анализ запроса. Модель анализирует запрос и определяет, может ли Google Maps улучшить ответ, например если запрос содержит географический контекст (например, "кофейни рядом со мной", "музеи в Сан-Франциско").

  3. Вызов инструмента. Модель распознает географическое намерение и вызывает инструмент Grounding with Google Maps.

  4. Отправляет запросы в Google Maps. Сервис Grounding with Google Maps отправляет запросы в Google Maps для получения релевантной информации (например, о местах, отзывах, фотографиях, адресах и часах работы).

    Вы можете добавить в конфигурацию инструмента (или даже в сам запрос) широту и долготу, чтобы получать более релевантные и персонализированные результаты.Google Maps Этот инструмент текстового поиска работает так же, как поиск в Google Maps. В частности, местные запросы ("рядом со мной") будут использовать координаты, а на результаты поиска по конкретным или неместным запросам указанное местоположение вряд ли повлияет.

  5. Обрабатывает результаты Google Maps. Модель обрабатывает результаты Google Maps и формулирует ответ на исходный запрос.

  6. Возвращает Google Maps обоснованный результат – окончательный, удобный для пользователя ответ, основанный на результатах Google Maps. В ответе:

    • Текстовый ответ модели.
    • Объект groundingMetadata с результатами Google Maps и источниками.

Обратите внимание, что предоставление Google Maps в качестве инструмента модели не требует, чтобы модель всегда использовала инструмент Google Maps для создания ответа. В таких случаях ответ не будет содержать объект groundingMetadata и, следовательно, не будет Google Maps обоснованным результатом.

Как интерпретировать обоснованный ответ

Если модель обосновывает свой ответ результатами поиска Google Maps, то ответ содержит объект groundingMetadata, в котором хранятся структурированные данные, необходимые для проверки утверждений и создания в приложении расширенного источника.

Объект groundingMetadata в Google Maps обоснованном результате содержит следующую информацию:

  • groundingChunks – массив объектов, содержащих источники maps (uri, placeId и title).
  • groundingSupports: массив фрагментов, позволяющий связать ответ моделиtext с источниками в groundingChunks. Каждый фрагмент связывает текст segment (определенный в startIndex и endIndex) с одним или несколькими объектами groundingChunkIndices. Это поле помогает создавать встроенные ссылки на источники. Подробнее о том, как соблюдать требования к использованию сервисов…

Ниже приведен пример ответа, содержащего объект groundingMetadata:

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "CanteenM is an American restaurant with..."
          }
        ],
        "role": "model"
      },
      "groundingMetadata": {
        "groundingChunks": [
          {
            "maps": {
              "uri": "https://maps.google.com/?cid=13100894621228039586",
              "title": "Heaven on 7th Marketplace",
              "placeId": "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
            }
          }
        ],
        "groundingSupports": [
          {
            "segment": {
              "startIndex": 0,
              "endIndex": 79,
              "text": "CanteenM is an American restaurant with a 4.6-star rating and is open 24 hours."
            },
            "groundingChunkIndices": [0]
          }
        ]
      }
    }
  ]
}

Требования к использованию сервисов

В этом разделе описаны требования к использованию сервиса Grounding with Google Maps для выбранного вами поставщика Gemini API: Gemini Developer API или Agent Platform Gemini API (formerly Vertex AI) (см. раздел Условия использования сервисов в Условиях использования отдельных сервисов).

Уведомления об источниках Google Maps

В каждом Google Maps обоснованном результате вы найдете источники в виде значков groundingChunks, подтверждающие каждый ответ. Также возвращаются следующие метаданные:

  • URI источника
  • название
  • ID

Когда вы показываете в приложении результаты, полученные с помощью функции Grounding с Google Maps, вам необходимо указать связанные источники Google Maps и сообщить пользователям следующее:

  • Источники Google Maps должны следовать сразу за сгенерированным контентом, который они подтверждают. Такой контент называется Google Maps обоснованным результатом.

  • Источники с разметкой Google Maps должны быть доступны в рамках одного взаимодействия с пользователем.

Вот как получить значения для отображения источников из Google Maps обоснованного результата:

Swift

// ...

// Get the model's response
let text = response.text

// Get the grounding metadata
if let candidate = response.candidates.first,
   let groundingMetadata = candidate.groundingMetadata {

  // Get sources
  let groundingChunks = groundingMetadata.groundingChunks
  for chunk in groundingChunks {
    if let maps = chunk.maps {
      let title = maps.title  // for example, "Heaven on 7th Marketplace"
      let url = maps.url  // for example, "https://maps.google.com/?cid=13100894621228039586"
      let placeId = maps.placeId  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
      // TODO(developer): show source in the UI
    }
  }
}

Kotlin

// ...

// Get the model's response
val text = response.text

// Get the grounding metadata
val groundingMetadata = response.candidates.firstOrNull()?.groundingMetadata

// Get sources
val groundingChunks = groundingMetadata?.groundingChunks
groundingChunks?.let { chunks ->
  for (chunk in chunks) {
    val title = chunk.maps?.title  // for example, "Heaven on 7th Marketplace"
    val uri = chunk.maps?.uri  // for example, "https://maps.google.com/?cid=13100894621228039586"
    val placeId = chunk.maps?.placeId  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show source in the UI
  }
}

Java

// ...

Futures.addCallback(response, new FutureCallback() {
  @Override
  public void onSuccess(GenerateContentResponse result) {
    // Get the model's response
    String text = result.getText();

    // Get the grounding metadata
    GroundingMetadata groundingMetadata =
        result.getCandidates()[0].getGroundingMetadata();

    if (groundingMetadata != null) {
      // Get sources
      List chunks = groundingMetadata.getGroundingChunks();
      if (chunks != null) {
        for(GroundingChunk chunk : chunks) {
          GoogleMapsGroundingChunk maps = chunk.getMaps();
          if (maps != null) {
            String title = maps.getTitle();  // for example, "Heaven on 7th Marketplace"
            String uri = maps.getUri();  // for example, "https://maps.google.com/?cid=13100894621228039586"
            String placeId = maps.getPlaceId();  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
            // TODO(developer): show sources in the UI
          }
        }
      }
    }
  }

  @Override
  public void onFailure(Throwable t) {
    t.printStackTrace();
  }
}, executor);

Web

// ...

// Get the model's text response
const text = result.response.text();

// Get the grounding metadata
const groundingMetadata = result.response.candidates?.[0]?.groundingMetadata;

// Get sources
const groundingChunks = groundingMetadata?.groundingChunks;
if (groundingChunks) {
  for (const chunk of groundingChunks) {
    const title = chunk.maps?.title;  // for example, "Heaven on 7th Marketplace"
    const uri = chunk.maps?.uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
    const placeId = chunk.maps?.placeId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show sources in the UI
  }
}

Dart

// ...

// Get the model's response
final text = response.text;

// Get the grounding metadata
final groundingMetadata = response.candidates.first.groundingMetadata;

// Get sources
final groundingChunks = groundingMetadata?.groundingChunks;
if (groundingChunks != null) {
  for (var chunk in groundingChunks) {
    final title = chunk.maps?.title;  // for example, "Heaven on 7th Marketplace"
    final uri = chunk.maps?.uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
    final placeId = chunk.maps?.placeId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
    // TODO(developer): show sources in the UI
  }
}

Unity

// ...

// Get the model's response.
var text = response.Text;

// Get the grounding metadata.
var groundingMetadata = response.Candidates.First().GroundingMetadata;

// Get sources.
if (groundingMetadata != null) {
  foreach(GroundingChunk chunk in groundingMetadata?.GroundingChunks) {
    if (chunk.Maps != null) {
      var title = chunk.Maps?.Title;  // for example, "Heaven on 7th Marketplace"
      var uri = chunk.Maps?.Uri;  // for example, "https://maps.google.com/?cid=13100894621228039586"
      var placeId = chunk.Maps?.PlaceId;  // for example, "places/ChIJ0-zA1vBZwokRon0fGj-6z7U"
      // TODO(developer): show sources in the UI
    }
  }
}

Для каждого источника в groundingChunks необходимо создать предварительный просмотр ссылки, соответствующий следующим требованиям:

  • Укажите источник каждого изображения, добавив Google Maps в соответствии с Google Mapsправилами атрибуции текста.
  • Показывать название источника, указанное в ответе.
  • Перейдите к источнику, используя uri из ответа.

Запрос с ответом, в котором указаны источники

Источники можно свернуть.

Запрос с ответом и источниками свернут

При желании вы можете добавить в предпросмотр ссылки дополнительный контент, например:

Дополнительную информацию о некоторых поставщиках данных Google Maps и условиях лицензирования можно найти в юридических уведомлениях Google Карт и Google Планеты Земля.

Google Maps правила в отношении текстового указания авторства

При указании источников в тексте Google Maps следуйте приведенным ниже рекомендациям.

  • Не изменяйте текст Google Maps:

    • Не меняйте регистр текста Google Maps.
    • Не переносите текст Google Maps на несколько строк.
    • Не локализуйте текст Google Maps на другие языки.
    • Запретить браузерам переводить текст Google Maps можно с помощью HTML-атрибута translate="no".
  • Отформатируйте текст Google Maps, как описано в таблице ниже.

    Ресурс Стиль
    Семейство шрифтов Roboto. Загружать шрифт необязательно.
    Резервное семейство шрифтов Любой шрифт без засечек, который уже используется в вашем продукте, или "Sans-Serif", чтобы вызвать системный шрифт по умолчанию.
    Стиль шрифта Обычный
    Насыщенность шрифта 400
    Цвет шрифта белый, черный (#1F1F1F) или серый (#5E5E5E). Обеспечьте доступный контраст (4,5:1) с фоном.
    размер шрифта; Минимальный размер шрифта: 12sp
    Максимальный размер шрифта: 16sp
    Подробнее о единицах измерения размера шрифта можно узнать на сайте Material Design.
    Интервалы Обычный

Пример CSS

Ниже приведен код CSS, с помощью которого можно отобразить текст Google Maps на белом или светлом фоне с использованием подходящего шрифта, цвета и отступов.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
  font-family: Roboto, Sans-Serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: normal;
  white-space: nowrap;
  color: #5e5e5e;
}

Кеширование идентификатора места

Google Maps Обоснованный результат может содержать идентификатор места. Вы можете кешировать, хранить и экспортировать следующие данные ответов:

  • placeId

Ограничения на кеширование, указанные в Условиях использования Google Карт для обоснования ответов, не распространяются на эти данные.

Запрещенные действия и территории

При использовании функции "Обоснование" с Google Maps действуют дополнительные ограничения на определенный контент и действия, чтобы обеспечить безопасность и надежность платформы. Помимо ограничений на использование, указанных в Условиях использования выбранного вами поставщика Gemini API: Gemini Developer API или Agent Platform Gemini API (formerly Vertex AI) (см. раздел Условия использования сервиса в Условиях использования сервисов).

  • Вы не будете использовать Grounding с Google Maps для действий, связанных с высоким риском, в том числе для вызова экстренных служб.

  • Вы не будете распространять или продвигать приложение, предлагающее Grounding с Google Maps, на Запрещенной территории. Подробнее о запрещенных территориях платформы Google Карт… Список запрещенных территорий может время от времени обновляться.

Обоснованные результаты и мониторинг ИИ в консоли Firebase

Если вы включили мониторинг ИИ в консоли Firebase, ответы будут храниться в Cloud Logging. По умолчанию эти данные хранятся 30 дней.

Вы несете ответственность за то, чтобы этот период хранения или любой заданный вами период полностью соответствовал вашему варианту использования и любым дополнительным требованиям к соблюдению нормативных требований для выбранного вами поставщика: Gemini APIGemini Developer API или Agent Platform Gemini API (formerly Vertex AI) (см. раздел Условия использования сервисов в Условиях использования сервисов Workspace). Возможно, вам потребуется изменить срок хранения в Cloud Logging, чтобы соответствовать этим требованиям.

Цены и ограничения частоты запросов

Обоснование с ценами Google Maps основано на запросах. Запрос учитывается в квоте Google Maps, только если на запрос успешно возвращается хотя бы один Google Maps обоснованный результат (то есть ответ содержит хотя бы один источник Google Maps). Если из одного запроса к Google Maps отправляется несколько запросов, это считается одним запросом в рамках ограничения частоты запросов.

Ознакомьтесь с информацией о ценах, доступности моделей и лимитах для функции "Обоснование с помощью Google Maps" в документации выбранного вами поставщика Gemini API: Gemini Developer API | Agent Platform Gemini API (formerly Vertex AI).