Карты Grounding Lite

Сервис Google Maps Platform Grounding Lite с поддержкой протокола Model Context Protocol (MCP) позволяет легко привязать ваши приложения искусственного интеллекта к надежным геопространственным данным из Google Maps. Сервер MCP предоставляет инструменты, позволяющие LLM-системам получать доступ к данным о местах, погоде и маршрутах. Вы можете протестировать Maps Grounding Lite, включив его в любом инструменте, поддерживающем серверы MCP.

Инструменты

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

  • Поиск мест : Запросите информацию о местах и ​​получите сгенерированные искусственным интеллектом сводные данные о местах, а также идентификаторы мест, координаты широты и долготы и ссылки на Google Maps для каждого из мест, включенных в сводку. Вы можете использовать полученные идентификаторы мест и координаты широты и долготы с другими API платформы Google Maps для отображения мест на карте.
  • Поиск погоды : Запросите информацию о погоде и получите текущие условия, почасовые и суточные прогнозы.
  • Расчет маршрутов : Запрос информации о маршрутах движения на автомобиле или пешком между двумя точками и получение информации о расстоянии и продолжительности маршрута.

Включение сервера Maps Grounding Lite MCP позволяет LLM-программистам вызывать новые инструменты, предоставляемые сервером, для получения дополнительной информации о привязке к земле для перечисленных выше типов данных. Хотя LLM-программист может использовать эту дополнительную информацию для контекста, ответ, который в конечном итоге генерирует LLM-программист, может не содержать точную информацию, возвращаемую сервером MCP. Вам следует проверить точность сгенерированного ответа.

Попробуйте демонстрационное приложение Maps Grounding Lite (откройте в новой вкладке).

Выставление счетов и квоты

Способ выставления счетов

В рамках модели оплаты по мере использования платформы Google Maps, использование Maps Grounding Lite рассчитывается для каждого запроса, при этом каждый запрос представляет собой одно событие выставления счета. Использование отслеживается для каждого артикула продукта . В вашем счете, помимо общей суммы расходов, отображается отдельная строка для каждого артикула. ​​Подробнее см. в разделе «Обзор отчетов» .

Подробную информацию о ценах смотрите в основной таблице цен и в таблице цен для Индии .

Приложение Maps Grounding Lite также доступно в рамках пакетов Essentials и Pro Subscribe to save .

Квоты

На инструменты, предоставляемые Maps Grounding Lite, распространяются следующие ограничения:

  • Поиск мест : 300 запросов в минуту на проект.
  • Поиск информации о погоде : 300 запросов в минуту на один проект.
  • Расчет маршрутов : 300 запросов в минуту на проект.

Политика и условия предоставления услуг

Сервис Maps Grounding Lite работает в соответствии с Условиями использования платформы Google Maps , включая условия, специфичные для данного сервиса. В этом разделе описаны дополнительные требования к использованию сервиса Maps Grounding Lite, включая совместимые LLM-файлы и требования к указанию источника.

Требования к совместимым программам магистратуры в области права

Использовать Maps Grounding Lite можно только с лицензией LLM, соответствующей условиям использования платформы Google Maps.

Например, вы несете ответственность за то, чтобы контент Google Maps не кэшировался, не хранился и не использовался для улучшения выбранной вами модели LLM. Перед использованием Maps Grounding Lite вам необходимо ознакомиться с Условиями использования любой модели, которую вы планируете использовать с Maps Grounding Lite. Вы не должны использовать Maps Grounding Lite с любыми моделями, которые используют данные, введенные в модель, для обучения или улучшения модели. Вы несете ответственность за то, чтобы ваше использование модели полностью соответствовало ограничениям на контент Google Maps, изложенным в Условиях использования платформы Google Maps, включая условия, специфичные для данной услуги.

Требования к указанию источников Google Maps

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

  • Исходные файлы Google Maps должны непосредственно следовать за сгенерированным контентом, который эти исходные файлы поддерживают. Этот сгенерированный контент также называется Grounded Output (обоснованный вывод) .
  • Исходные данные Google Maps должны быть доступны для просмотра в рамках одного взаимодействия пользователя.

Источники для инструмента «Поиск мест»

Поле places инструмента search_places предоставляет источники, подтверждающие summary . Для places возвращаются следующие метаданные:

  • place (название ресурса)
  • id
  • location
  • googleMapsLinks

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

Настройте LLM для использования сервера MCP.

Для использования Maps Grounding Lite вам сначала потребуется проект Google Cloud с включенной службой API Maps Grounding Lite , а также либо ключ API, либо идентификатор клиента OAuth. Затем вы можете настроить LLM для доступа к серверу MCP. Сервер Grounding Lite MCP использует протокол HTTP Streamable.

Включите сервис Maps Grounding Lite в своем проекте Google Cloud.

Чтобы включить API в вашем проекте:

  1. В консоли Google Cloud выберите проект, который вы хотите использовать для Maps Grounding Lite.
  2. Включите выставление счетов за проект в консоли Google Cloud .
  3. Включите Maps Grounding Lite в библиотеке API консоли Google Cloud .

Аутентификация с использованием ключа API.

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

Для аутентификации с использованием ключа API:

  1. Создайте или настройте ключ API, следуя инструкциям в разделе «Начало работы с платформой Google Maps» .
  2. Передайте ключ на сервер MCP, используя заголовок X-Goog-Api-Key . Необходимо указать этот заголовок в качестве пользовательского HTTP-заголовка в конфигурации инструмента MCP в LLM.

Аутентификация с использованием OAuth

Аутентификация с использованием OAuth может быть выполнена путем создания учетных данных OAuth и передачи их хосту MCP или серверному приложению MCP.

Для аутентификации с использованием OAuth:

  1. В консоли Google Cloud выберите проект, который вы хотите использовать для Maps Grounding Lite.
  2. В меню «API и сервисы» выберите «Учетные данные» .
  3. В верхнем меню выберите «Создать учетные данные» > «Идентификатор клиента OAuth» .
  4. Если в проекте отсутствует настроенный экран согласия, нажмите «Настроить экран согласия» и следуйте инструкциям на экране.
  5. В разделе «Метрики» нажмите «Создать клиент OAuth» .
  6. На экране «Создать идентификатор клиента OAuth» выберите тип приложения и введите имя для идентификатора клиента.
  7. Укажите дополнительные сведения, относящиеся к типу вашего приложения. Например, если вы создаете веб-приложение, добавьте разрешенные URI для запросов от браузера и сервера.
  8. После создания клиента сохраните идентификатор клиента и секретный ключ.
  9. При настройке вашего хоста MCP или серверного приложения MCP для доступа к Maps Grounding Lite передайте свой идентификатор клиента OAuth и секретный ключ. Вам также необходимо запросить следующую область действия: https://www.googleapis.com/auth/maps-platform.mapstools .

Для получения дополнительной информации см. раздел «Использование OAuth 2.0 для доступа к API Google» .

Настройте LLM для доступа к серверу Maps Grounding Lite MCP.

После того, как у вас будет проект Google Cloud с включенной службой API Maps Grounding Lite и действительными учетными данными, такими как ключ API или идентификатор и секрет клиента OAuth, вы можете настроить LLM для доступа к серверу MCP, следуя соответствующей документации по настройке MCP и используя URL-адрес сервера Maps Grounding Lite MCP: https://mapstools.googleapis.com/mcp

Для получения дополнительной информации см. раздел «Настройка MCP в приложении ИИ» .

Настройте Maps Grounding Lite с помощью Gemini CLI.

В этом разделе приведен пример настройки сервера Maps Grounding Lite MCP с помощью интерфейса командной строки Gemini . Более подробную информацию см. в разделе «Серверы MCP с интерфейсом командной строки Gemini» .

  1. После установки Gemini CLI вы можете использовать команду add для настройки сервера Maps Grounding Lite MCP:

    gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-grounding-lite-mcp https://mapstools.googleapis.com/mcp
    

    Если настройка прошла успешно, вы увидите подтверждение того, что сервер добавлен в ваши пользовательские настройки.

  2. Чтобы убедиться в корректной работе сервера, выполните команду /mcp list :

    > /mcp list
    
    Configured MCP servers:
    
    maps-grounding-lite-mcp - Ready (3 tools)
    Tools:
    -   compute_routes
    -   lookup_weather
    -   search_places
    
  3. Начните задавать вопросы, связанные с Картами, используя интерфейс командной строки. Например, попробуйте запрос "Порекомендуйте мне несколько ресторанов в Маунтин-Вью", который должен вызвать инструмент search_places от вашего имени.

Настройка Grounding Lite с помощью комплекта разработки агентов (ADK)

В этом разделе приведены примеры настройки сервера Grounding Lite MCP с использованием комплекта разработки агентов (ADK) и языков программирования Python, Java или TypeScript.

Python

Шаг 1: Определите своего агента с помощью McpToolset для Google Maps Grounding Lite.

Измените файл agent.py . Замените YOUR_GOOGLE_MAPS_API_KEY на ваш фактический ключ API.

# ./adk_agent_samples/mcp_agent/agent.py
import os
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

# Retrieve the API key from an environment variable or directly insert it.
GOOGLE_MAPS_API_KEY = os.getenv("GOOGLE_MAPS_API_KEY")
if not GOOGLE_MAPS_API_KEY:
    GOOGLE_MAPS_API_KEY = "YOUR_GOOGLE_MAPS_API_KEY_HERE"

if GOOGLE_MAPS_API_KEY == "YOUR_GOOGLE_MAPS_API_KEY_HERE":
    print("WARNING: GOOGLE_MAPS_API_KEY is not set.")

root_agent = Agent(
    model='gemini-flash-latest',
    name='travel_planner_agent',
    description='A helpful assistant for planning travel routes.',
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(
                url="https://mapstools.googleapis.com/mcp",
                headers={
                    "X-Goog-Api-Key": GOOGLE_MAPS_API_KEY,
                    "Content-Type": "application/json",
                    "Accept": "application/json, text/event-stream"
                }
            )
        )
    ]
)
    
Шаг 2: Убедитесь, что __init__.py существует.

Убедитесь, что файл __init__.py находится в той же директории, что и файл agent.py :

from . import agent
    
Шаг 3: Запустите adk web и Interact.
  1. Установить переменную среды :
    Установите ключ API Google Maps в качестве переменной окружения в терминале:
    export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
            
  2. Запустите adk web :
    Для запуска веб-интерфейса ADK выполните следующую команду:
    adk web
            
  3. Взаимодействие в пользовательском интерфейсе :
    • Выберите агента travel_planner_agent .
    • Попробуйте использовать такие подсказки:
      • «Завтра я буду в Сан-Франциско. Какая там погода?»
      • «Найдите кофейни рядом с парком Голден Гейт».
      • «Получите маршрут от GooglePlex до аэропорта SFO».

Java

Определите агента, который инициализирует McpToolset на Java. Замените YOUR_GOOGLE_MAPS_API_KEY_HERE на фактический ключ API, который вы получили, если вы не используете переменную среды.

package agents;

import com.google.adk.agents.LlmAgent;
import com.google.adk.runner.InMemoryRunner;
import com.google.adk.sessions.SessionKey;
import com.google.adk.tools.mcp.McpToolset;
import com.google.adk.tools.mcp.StreamableHttpServerParameters;
import com.google.genai.types.Content;
import com.google.genai.types.Part;
import java.util.HashMap;
import java.util.Map;

public class MapsAgentCreator {
    public static void main(String[] args) {
        String googleMapsApiKey = System.getenv("GOOGLE_MAPS_API_KEY");
        if (googleMapsApiKey == null || googleMapsApiKey.trim().isEmpty()) {
            googleMapsApiKey = "YOUR_GOOGLE_MAPS_API_KEY_HERE";
            if ("YOUR_GOOGLE_MAPS_API_KEY_HERE".equals(googleMapsApiKey)) {
                System.out.println("WARNING: GOOGLE_MAPS_API_KEY is not set.");
            }
        }

        Map<String, String> headers = new HashMap<>();
        headers.put("X-Goog-Api-Key", googleMapsApiKey);
        headers.put("Content-Type", "application/json");
        headers.put("Accept", "application/json, text/event-stream");

        StreamableHttpServerParameters serverParams = StreamableHttpServerParameters.builder("https://mapstools.googleapis.com/mcp")
                .headers(headers)
                .build();

        try (McpToolset toolset = new McpToolset(serverParams)) {
            LlmAgent agent = LlmAgent.builder()
                    .model("gemini-flash-latest")
                    .name("travel_planner_agent")
                    .description("A helpful assistant for planning travel routes.")
                    .tools(toolset)
                    .build();

            System.out.println("Agent created: " + agent.name());

            InMemoryRunner runner = new InMemoryRunner(agent);
            String userId = "maps-user-" + System.currentTimeMillis();
            String sessionId = "maps-session-" + System.currentTimeMillis();
            String promptText = "Please give me directions to the nearest pharmacy to Madison Square Garden.";

            SessionKey sessionKey = runner.sessionService().createSession(runner.appName(), userId, null, sessionId).blockingGet().sessionKey();
            System.out.println("Session created: " + sessionId + " for user: " + userId);

            Content promptContent = Content.fromParts(Part.fromText(promptText));
            System.out.println("\nSending prompt: \"" + promptText + "\" to agent...\n");

            runner.runAsync(sessionKey, promptContent)
                    .blockingForEach(event -> {
                        System.out.println("Event received: " + event.toJson());
                    });
        } catch (Exception e) {
            System.err.println("An error occurred: " + e.getMessage());
            e.printStackTrace();
        }
    }
}
    

Машинопись

Определите агента, который инициализирует MCPToolset на TypeScript:

import 'dotenv/config';
import {LlmAgent, MCPToolset} from "@google/adk";

const googleMapsApiKey = process.env.GOOGLE_MAPS_API_KEY;
if (!googleMapsApiKey) {
    console.warn("WARNING: GOOGLE_MAPS_API_KEY is not set.");
    throw new Error('GOOGLE_MAPS_API_KEY is not provided, please run "export GOOGLE_MAPS_API_KEY=YOUR_ACTUAL_KEY" to add that.');
}

export const rootAgent = new LlmAgent({
    model: "gemini-flash-latest",
    name: "travel_planner_agent",
    description: "A helpful assistant for planning travel.",
    tools: [
        new MCPToolset({
            type: "SseConnectionParams",
            url: "https://mapstools.googleapis.com/mcp",
            headers: {
                "X-Goog-Api-Key": googleMapsApiKey,
                "Content-Type": "application/json",
                "Accept": "application/json, text/event-stream"
            }
        })
    ],
});
    

Обмен отзывами

Чтобы оставить отзыв о Maps Grounding Lite, воспользуйтесь следующими формами: