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

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

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

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

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

  • gemini-4-argon
  • 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-3.1-pro-preview и Gemini 2.5 общего назначения (которые больше не поддерживаются) также поддерживают эту возможность.

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

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

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

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

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

Swift


import CoreLocation
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: [.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

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

Советы и рекомендации по улучшению результатов

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

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

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

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

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

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

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

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

Ниже приведены примеры свойств мест, которые модель может использовать для генерации ответов. Свойства перечислены в алфавитном порядке.

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

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

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

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

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

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

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

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

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

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

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

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

Вот как работает модель:

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

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

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

  4. Отправка запросов в Google Maps. Сервис заземления с помощью 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]
          }
        ]
      }
    }
  ]
}

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

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

Сообщите пользователям об источниках Google Maps

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

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

Если вы показываете в своем приложении результаты заземления с помощью 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 Maps.
  • Фотография из источника (og:image).

Дополнительную информацию о некоторых поставщиках данных для 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.
    размер шрифта; Минимальный размер шрифта: 12 sp.
    Максимальный размер шрифта: 16 sp.
    Подробнее о единицах измерения sp можно узнать на сайте 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) (см. раздел Условия использования сервиса в Условиях использования сервисов).

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

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

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

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

Вы несете ответственность за то, чтобы этот срок хранения или любой другой, заданный вами, полностью соответствовал вашему конкретному сценарию использования и любым дополнительным требованиям к соблюдению нормативных требований для выбранного вами поставщика Gemini API: Gemini Developer API или Agent Platform Gemini API (formerly Vertex AI) (см. раздел Условия использования сервиса в Условиях использования сервисов). Чтобы выполнить эти требования, вам может потребоваться изменить срок хранения в 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).