Google Maps Platform Grounding Lite เป็นบริการที่รองรับ Model Context Protocol (MCP) ซึ่งช่วยให้คุณสามารถเชื่อมโยงแอปพลิเคชัน AI กับข้อมูลเชิงพื้นที่ที่เชื่อถือได้จาก Google Maps ได้อย่างง่ายดาย เซิร์ฟเวอร์ MCP มีเครื่องมือที่ช่วยให้ LLM เข้าถึงความสามารถเกี่ยวกับสถานที่ สภาพอากาศ และเส้นทางได้ คุณสามารถลองใช้ Maps Grounding Lite ได้โดยเปิดใช้ในเครื่องมือที่รองรับเซิร์ฟเวอร์ MCP
เครื่องมือ
Maps Grounding Lite มีเครื่องมือที่ช่วยให้ LLM เข้าถึงความสามารถต่อไปนี้ของ Google Maps ได้
- ค้นหาสถานที่: ขอข้อมูลเกี่ยวกับสถานที่และรับข้อมูลสรุปเกี่ยวกับสถานที่ที่ AI สร้างขึ้น รวมถึงรหัสสถานที่ พิกัดละติจูดและลองจิจูด และลิงก์ Google Maps สำหรับสถานที่แต่ละแห่งที่รวมอยู่ในข้อมูลสรุป คุณสามารถใช้รหัสสถานที่และพิกัดละติจูดและลองจิจูดที่ได้รับพร้อมกับ Google Maps Platform API อื่นๆ เพื่อแสดงสถานที่บนแผนที่
- ค้นหาสภาพอากาศ: ขอข้อมูลเกี่ยวกับสภาพอากาศและรับข้อมูลสภาพอากาศปัจจุบัน พยากรณ์อากาศรายชั่วโมง และพยากรณ์อากาศรายวัน
คำนวณเส้นทาง: ขอข้อมูลเกี่ยวกับเส้นทางการขับรถหรือเดินระหว่าง 2 สถานที่ และรับข้อมูลระยะทางและระยะเวลาของเส้นทาง
การเปิดใช้เซิร์ฟเวอร์ MCP ของ Maps Grounding Lite จะช่วยให้ LLM เรียกเครื่องมือใหม่ที่เซิร์ฟเวอร์แสดงได้เพื่อแสดงข้อมูลเพิ่มเติมเกี่ยวกับประเภทข้อมูลที่ระบุไว้ข้างต้น แม้ว่า LLM จะใช้ข้อมูลเพิ่มเติมนี้เพื่อเป็นบริบทได้ แต่คำตอบที่ LLM สร้างขึ้นในท้ายที่สุดอาจไม่รวมข้อมูลที่เซิร์ฟเวอร์ MCP แสดงไว้ทุกประการ คุณควรตรวจสอบความถูกต้องของคำตอบที่สร้างขึ้น
ลองใช้แอปตัวอย่าง Maps Grounding Lite (เปิดในแท็บใหม่)
การเรียกเก็บเงินและโควต้า
วิธีเรียกเก็บเงิน
ด้วยรูปแบบการกำหนดราคาแบบจ่ายเมื่อใช้ของ Google Maps Platform ระบบจะคำนวณการใช้งาน Maps Grounding Lite สำหรับคำขอแต่ละรายการ โดยคำขอแต่ละรายการแสดงถึงเหตุการณ์การเรียกเก็บเงิน 1 รายการ ระบบจะติดตามการใช้งานสำหรับแต่ละ SKU ของผลิตภัณฑ์ ใบแจ้งหนี้จะแสดงรายการโฆษณาสำหรับแต่ละ SKU นอกเหนือจากค่าใช้จ่ายทั้งหมด ดูข้อมูลเพิ่มเติมได้ที่ ภาพรวมการรายงาน
ดูรายละเอียดการกำหนดราคาได้ที่ ตารางการกำหนดราคาราคาหลัก และ ตารางการกำหนดราคาในอินเดีย
นอกจากนี้ Maps Grounding Lite ยังมีให้บริการผ่านแพ็กเกจ Essentials และ Pro สมัครใช้บริการเพื่อประหยัด
โควต้า
โควต้าต่อไปนี้มีผลกับเครื่องมือที่ Maps Grounding Lite มีให้
- ค้นหาสถานที่: 300 คำค้นหาต่อนาทีต่อโปรเจ็กต์
- ค้นหาสภาพอากาศ: 300 คำค้นหาต่อนาทีต่อโปรเจ็กต์
- คำนวณเส้นทาง: 300 คำค้นหาต่อนาทีต่อโปรเจ็กต์
นโยบายและข้อกำหนดในการให้บริการ
Maps Grounding Lite อยู่ภายใต้ข้อกำหนดในการให้บริการของ Google Maps Platform ซึ่งรวมถึงข้อกำหนดเฉพาะของบริการสำหรับบริการนี้ ส่วนนี้จะอธิบายข้อกำหนดเพิ่มเติมในการใช้บริการสำหรับ Maps Grounding Lite ซึ่งรวมถึง LLM ที่เข้ากันได้และข้อกำหนดในการระบุแหล่งที่มา
ข้อกำหนดสำหรับ LLM ที่เข้ากันได้
คุณใช้ Maps Grounding Lite ได้เฉพาะกับ LLM ที่เป็นไปตามข้อกำหนดในการให้บริการของ Google Maps Platform เท่านั้น
ตัวอย่างเช่น คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่า LLM ที่คุณเลือกใช้ไม่ได้แคช จัดเก็บ หรือใช้เนื้อหา Google Maps เพื่อปรับปรุง LLM ก่อนใช้ Maps Grounding Lite คุณจะต้องอ่านข้อกำหนดในการให้บริการของโมเดลที่คุณต้องการใช้กับ Maps Grounding Lite คุณต้องไม่ใช้ Maps Grounding Lite กับโมเดลที่ใช้ข้อมูลที่ป้อนในโมเดลเพื่อการฝึกหรือปรับปรุงโมเดล คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่าการใช้โมเดลของคุณเป็นไปตามข้อจำกัดเกี่ยวกับเนื้อหา Google Maps ในข้อกำหนดในการให้บริการของ Google Maps Platform อย่างครบถ้วน ซึ่งรวมถึงข้อกำหนดเฉพาะของบริการ
ข้อกำหนดในการระบุแหล่งที่มาสำหรับแหล่งที่มาของ Google Maps
คำตอบของเครื่องมือแต่ละรายการจาก Maps Grounding Lite จะมีแหล่งที่มา เมื่อแสดงผลลัพธ์ที่ใช้เครื่องมือที่ Maps Grounding Lite มีให้ คุณต้องระบุแหล่งที่มาของ Google Maps ที่เกี่ยวข้องในลักษณะที่เป็นไปตามข้อกำหนดต่อไปนี้
- แหล่งที่มาของ Google Maps ต้องอยู่ต่อจากเนื้อหาที่สร้างขึ้นซึ่งแหล่งที่มานั้นๆ รองรับทันที เนื้อหาที่สร้างขึ้นนี้เรียกอีกอย่างว่าเอาต์พุตที่เชื่อมโยงกับข้อมูลพื้นฐาน
- แหล่งที่มาของ Google Maps ต้องดูได้ภายใน 1 การโต้ตอบของผู้ใช้
แหล่งที่มาของเครื่องมือค้นหาสถานที่
ฟิลด์ places ของเครื่องมือ search_places มีแหล่งที่มาที่รองรับ
summary สำหรับ places ระบบจะแสดงข้อมูลเมตาต่อไปนี้
place(ชื่อทรัพยากร)idlocationgoogleMapsLinks
สำหรับแต่ละสถานที่ คุณต้องสร้างตัวอย่างลิงก์ที่เป็นไปตามข้อกำหนดต่อไปนี้
- ระบุแหล่งที่มาแต่ละรายการเป็น Google Maps โดยทำตามหลักเกณฑ์การระบุแหล่งที่มาด้วยข้อความของ Maps Grounding Lite
- ลิงก์ไปยังแหล่งที่มาโดยใช้
places.googleMapsLinks.placeUrlจากคำตอบ
กำหนดค่า LLM ให้ใช้เซิร์ฟเวอร์ MCP
หากต้องการใช้ Maps Grounding Lite คุณต้องมีโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud ที่เปิดใช้บริการ Maps Grounding Lite API รวมถึงคีย์ API หรือรหัสไคลเอ็นต์ OAuth จากนั้นคุณสามารถกำหนดค่า LLM ให้เข้าถึงเซิร์ฟเวอร์ MCP ได้ เซิร์ฟเวอร์ MCP ของ Grounding Lite ใช้การรับส่งข้อมูล HTTP ที่สตรีมได้
เปิดใช้บริการ Maps Grounding Lite ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google
วิธีเปิดใช้ API ในโปรเจ็กต์
- ในคอนโซล Google Cloud, ให้เลือกโปรเจ็กต์ที่ต้องการใช้สำหรับ Maps Grounding Lite
- เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ใน คอนโซล Google Cloud
- เปิดใช้ Maps Grounding Lite ในGoogle Cloud คลัง API ของคอนโซล
ตรวจสอบสิทธิ์โดยใช้คีย์ API
คุณสามารถใช้คีย์ API ที่มีอยู่กับ Maps Grounding Lite หรือสร้างคีย์ใหม่ ได้ ตราบใดที่คุณเปิดใช้บริการ Maps Grounding Lite API service ในทั้งโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google และคีย์
วิธีตรวจสอบสิทธิ์โดยใช้คีย์ API
- สร้างหรือกำหนดค่าคีย์ API โดยทำตามขั้นตอนในเริ่มต้นใช้งาน Google Maps Platform
- ส่งคีย์ไปยังเซิร์ฟเวอร์ MCP โดยใช้ส่วนหัว
X-Goog-Api-Keyคุณต้องระบุส่วนหัวนี้เป็นส่วนหัว HTTP ที่กำหนดเองในการกำหนดค่าเครื่องมือ MCP ของ LLM
ตรวจสอบสิทธิ์โดยใช้ OAuth
คุณสามารถตรวจสอบสิทธิ์โดยใช้ OAuth ได้โดยสร้างข้อมูลเข้าสู่ระบบ OAuth แล้วส่งข้อมูลดังกล่าวไปยังโฮสต์ MCP หรือแอปพลิเคชันเซิร์ฟเวอร์ MCP
วิธีตรวจสอบสิทธิ์โดยใช้ OAuth
- ในคอนโซล Google Cloud, ให้เลือกโปรเจ็กต์ที่ต้องการใช้สำหรับ Maps Grounding Lite
- ในเมนู API และบริการ ให้เลือกข้อมูลเข้าสู่ระบบ
- ในเมนูด้านบน ให้เลือกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- หากโปรเจ็กต์ไม่มีหน้าจอขอความยินยอมที่กำหนดค่าไว้ ให้คลิกกำหนดค่าหน้าจอขอความยินยอม แล้วทำตามวิธีการบนหน้าจอ
- ในส่วน เมตริก ให้คลิกสร้างไคลเอ็นต์ OAuth
- ในหน้าจอ สร้างรหัสไคลเอ็นต์ OAuth ให้เลือกประเภทแอปพลิเคชันและป้อนชื่อสำหรับรหัสไคลเอ็นต์
- ระบุรายละเอียดเพิ่มเติมที่เกี่ยวข้องกับประเภทแอปพลิเคชัน เช่น หากสร้างเว็บแอปพลิเคชัน ให้เพิ่ม URI ที่ได้รับอนุญาตสำหรับคำขอของเบราว์เซอร์และเซิร์ฟเวอร์
- เมื่อสร้างไคลเอ็นต์แล้ว ให้บันทึกรหัสไคลเอ็นต์และรหัสลับ
- เมื่อกำหนดค่าโฮสต์ MCP หรือแอปพลิเคชันเซิร์ฟเวอร์ MCP ให้เข้าถึง Maps Grounding Lite ให้ส่งรหัสไคลเอ็นต์ OAuth และรหัสลับ นอกจากนี้ คุณยังต้องขอขอบเขต
https://www.googleapis.com/auth/maps-platform.mapstoolsด้วย
ดูข้อมูลเพิ่มเติมได้ที่ การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
กำหนดค่า LLM ให้เข้าถึงเซิร์ฟเวอร์ MCP ของ Maps Grounding Lite
เมื่อมีโปรเจ็กต์ Google Cloud ที่เปิดใช้บริการ Maps Grounding Lite API และข้อมูลเข้าสู่ระบบที่ถูกต้อง เช่น คีย์ API หรือรหัสไคลเอ็นต์และข้อมูลลับ OAuth แล้ว คุณสามารถกำหนดค่า LLM ให้เข้าถึงเซิร์ฟเวอร์ MCP ได้โดยทำตามเอกสารประกอบการกำหนดค่า MCP ที่เกี่ยวข้องและใช้ URL เซิร์ฟเวอร์ MCP ของ Maps Grounding Lite: https://mapstools.googleapis.com/mcp
ดูข้อมูลเพิ่มเติมได้ที่ กำหนดค่า MCP ในแอปพลิเคชัน AI
กำหนดค่า Maps Grounding Lite ด้วย Gemini CLI
ส่วนนี้แสดงตัวอย่างวิธีกำหนดค่าเซิร์ฟเวอร์ MCP ของ Maps Grounding Lite โดยใช้ Gemini CLI ดูรายละเอียดเพิ่มเติมได้ที่ เซิร์ฟเวอร์ MCP ด้วย Gemini CLI
เมื่อติดตั้ง Gemini CLI แล้ว คุณจะใช้คำสั่ง add เพื่อกำหนดค่าเซิร์ฟเวอร์ MCP ของ Maps Grounding Lite ได้โดยทำดังนี้
gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-grounding-lite-mcp https://mapstools.googleapis.com/mcpหากกำหนดค่าสำเร็จ คุณจะเห็นข้อความยืนยันว่าระบบได้เพิ่มเซิร์ฟเวอร์ลงในการตั้งค่าผู้ใช้แล้ว
หากต้องการตรวจสอบว่าเซิร์ฟเวอร์ทำงานอย่างถูกต้อง ให้เรียกใช้คำสั่ง
/mcp list> /mcp list Configured MCP servers: maps-grounding-lite-mcp - Ready (3 tools) Tools: - compute_routes - lookup_weather - search_placesเริ่มถามคำถามที่เกี่ยวข้องกับ Maps ด้วย CLI เช่น ลองใช้คำสั่ง "แนะนำร้านอาหารใน Mountain View" ซึ่งควรเรียกเครื่องมือ search_places ในนามของคุณ
กำหนดค่า Grounding Lite ด้วย Agent Development Kit (ADK)
ส่วนนี้แสดงตัวอย่างวิธีกำหนดค่าเซิร์ฟเวอร์ MCP ของ Grounding Lite โดยใช้ Agent Development Kit (ADK) และ Python, Java หรือ TypeScript
Python
ขั้นตอนที่ 1: กำหนด Agent ด้วย 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 และโต้ตอบ
- ตั้งค่าตัวแปรสภาพแวดล้อม:
ตั้งค่าคีย์ API ของ Google Maps เป็นตัวแปรสภาพแวดล้อมใน เทอร์มินัลโดยทำดังนี้export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- เรียกใช้
adk web:
เรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มอินเทอร์เฟซเว็บ ADKadk web
- โต้ตอบใน UI:
- เลือก
travel_planner_agent - ลองใช้พรอมต์ต่อไปนี้
- "ฉันจะไปซานฟรานซิสโกพรุ่งนี้ สภาพอากาศจะเป็นอย่างไร"
- "หาร้านกาแฟใกล้ Golden Gate Park"
- "ขอเส้นทางจาก GooglePlex ไปยัง SFO"
- เลือก
Java
กำหนด Agent ที่เริ่มต้น 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(); } } }
TypeScript
กำหนด Agent ที่เริ่มต้น 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 ให้ใช้แบบฟอร์มต่อไปนี้