Grounding Lite ของ Google Maps Platform เป็นบริการที่รองรับ 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 คำค้นหาต่อนาทีต่อโปรเจ็กต์
นโยบายและข้อกำหนดในการให้บริการ
Grounding Lite ของ Maps อยู่ภายใต้ข้อกำหนดในการให้บริการของ Google Maps Platform รวมถึงข้อกำหนดเฉพาะของบริการสำหรับบริการนี้ ส่วนนี้อธิบายข้อกำหนดในการใช้บริการเพิ่มเติมสำหรับ Maps Grounding Lite รวมถึง LLM ที่เข้ากันได้และข้อกำหนดในการระบุแหล่งที่มา
ข้อกำหนดสำหรับ LLM ที่เข้ากันได้
คุณใช้ Maps Grounding Lite ได้เฉพาะกับ LLM ที่เป็นไปตาม ข้อกำหนดในการให้บริการของ Google Maps Platform
ตัวอย่างเช่น คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่าเนื้อหาของ Google Maps ไม่ได้ แคช จัดเก็บ หรือใช้เพื่อปรับปรุง LLM ที่คุณเลือกใช้ ก่อนใช้ Grounding Lite ของ Maps คุณจะต้องอ่านข้อกำหนดในการให้บริการ สำหรับโมเดลใดก็ตามที่คุณต้องการใช้กับ Grounding Lite ของ Maps คุณต้องไม่ใช้ Maps Grounding Lite กับโมเดลที่ใช้ข้อมูลที่ป้อนลงในโมเดลเพื่อการฝึกหรือปรับปรุงโมเดล คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่าการใช้โมเดลของคุณเป็นไปตามข้อจำกัดเกี่ยวกับเนื้อหา Google Maps ในข้อกำหนดในการให้บริการของ Google Maps Platform ซึ่งรวมถึงข้อกำหนดเฉพาะของบริการ
ข้อกำหนดในการระบุแหล่งที่มาสำหรับแหล่งที่มาของ Google Maps
การตอบกลับของเครื่องมือแต่ละรายการจาก Maps Grounding Lite จะมีแหล่งข้อมูล เมื่อนำเสนอ ผลลัพธ์ที่ใช้เครื่องมือที่ Maps Grounding Lite มีให้ คุณต้องระบุ แหล่งที่มาของ Google Maps ที่เกี่ยวข้องในลักษณะที่เป็นไปตามข้อกำหนดต่อไปนี้
- แหล่งที่มาของ Google Maps ต้องอยู่ต่อจากเนื้อหาที่สร้างขึ้นซึ่งแหล่งที่มานั้นรองรับ เนื้อหาที่สร้างขึ้นนี้เรียกอีกอย่างว่าเอาต์พุตที่อิงตามข้อมูล
- แหล่งข้อมูลของ Google Maps ต้องดูได้ภายใน 1 การโต้ตอบของผู้ใช้
แหล่งที่มาของเครื่องมือค้นหาสถานที่
ฟิลด์search_placesเครื่องมือplacesจะระบุแหล่งข้อมูลที่สนับสนุนsummary
สำหรับ places ระบบจะแสดงข้อมูลเมตาดังต่อไปนี้
place(ชื่อทรัพยากร)idlocationgoogleMapsLinks
คุณต้องสร้างตัวอย่างลิงก์ที่ตรงตามข้อกำหนดต่อไปนี้สำหรับแต่ละสถานที่
- ระบุแหล่งที่มาแต่ละแหล่งเป็น Google Maps โดยทำตามหลักเกณฑ์การระบุแหล่งที่มาของข้อความ Maps Grounding Lite
- ลิงก์ไปยังแหล่งที่มาโดยใช้
places.googleMapsLinks.placeUrlจากคำตอบ
กำหนดค่า LLM ให้ใช้เซิร์ฟเวอร์ MCP
หากต้องการใช้ Maps Grounding Lite คุณต้องมีโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud ที่เปิดใช้บริการ API ของ Maps Grounding Lite รวมถึงคีย์ API หรือรหัสไคลเอ็นต์ OAuth จากนั้นคุณจะกำหนดค่า LLM ให้เข้าถึงเซิร์ฟเวอร์ MCP ได้ เซิร์ฟเวอร์ MCP ของ Grounding Lite ใช้การรับส่งข้อมูล HTTP ที่สตรีมได้
เปิดใช้บริการ Grounding Lite ของ Maps ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google
วิธีเปิดใช้ API ในโปรเจ็กต์
- ใน คอนโซล Google Cloud ให้เลือกโปรเจ็กต์ที่ต้องการใช้สำหรับ Maps Grounding Lite
- เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ใน Google Cloud Console
- เปิดใช้ Maps Grounding Lite ในคลัง API ของ Google Cloud Console
ตรวจสอบสิทธิ์โดยใช้คีย์ API
คุณจะใช้คีย์ API ที่มีอยู่กับ Maps Grounding Lite หรือสร้างคีย์ใหม่ก็ได้ ตราบใดที่คุณเปิดใช้บริการ Maps Grounding Lite API ทั้งในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ 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 APIs
กำหนดค่า 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 เช่น ลองพูดว่า "แนะนำร้านอาหารในเมาน์เทนวิวให้หน่อย" ซึ่งควรเรียกใช้เครื่องมือ search_places ในนามของคุณ
กำหนดค่า Grounding Lite ด้วย Agent Development Kit (ADK)
ส่วนนี้มีตัวอย่างที่แสดงวิธีกำหนดค่าเซิร์ฟเวอร์ Grounding Lite MCP โดยใช้ Agent Development Kit (ADK) และ Python, Java หรือ TypeScript
Python
ขั้นตอนที่ 1: กำหนด Agent ด้วย McpToolset สำหรับ Grounding Lite ของ Google Maps
แก้ไขไฟล์ 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
กำหนดเอเจนต์ที่เริ่มต้น 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" } }) ], });
การแชร์ความคิดเห็น
หากต้องการแชร์ความคิดเห็นเกี่ยวกับ Grounding Lite ของ Maps ให้ใช้แบบฟอร์มต่อไปนี้