Questa pagina descrive come Grounding con Google Maps con Vertex AI può aiutarti a migliorare le tue applicazioni di AI generativa fornendo un contesto geospaziale.
Panoramica
Grounding con Google Maps con Vertex AI è un servizio che connette i modelli Gemini con dati geospaziali di Google Maps. Google Maps ha accesso a informazioni su milioni di località, tra cui attività, punti di riferimento e punti di interesse. Questi dati ti danno accesso a informazioni su oltre 250 milioni di luoghi che possono essere utilizzati per basare le risposte del modello, consentendo alle tue applicazioni e ai tuoi agenti AI di fornire dati locali e contesto geospaziale.
Puoi anche attivare il grounding simultaneo con Google Maps, la Ricerca Google e le tue origini dati.
Utilizzi del grounding con Google Maps
Puoi utilizzare Grounding con Google Maps per varie applicazioni, ad esempio:
- Assistenti conversazionali che possono rispondere a domande sui luoghi nelle vicinanze, ad esempio "Dov'è il posto più vicino dove posso prendere un espresso italiano?"
- Descrizioni personalizzate e informazioni della community, ad esempio"Puoi dirmi di più sui ristoranti adatti alle famiglie che si trovano a pochi passi?"
- Riepiloghi delle aree intorno a luoghi specifici, come una stazione di ricarica EV o un hotel.
Ciò può essere utile per i casi d'uso in ambito immobiliare, viaggi, mobilità e app di social media.
Modelli supportati
Questa sezione elenca i modelli che supportano Grounding con Google Maps.
- Gemini 2.5 Flash (anteprima)
- Gemini 2.5 Flash-Lite (anteprima)
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Flash con audio nativo dell'API Live (anteprima)
- Gemini 2.0 Flash con API Live (anteprima)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Per saperne di più sui modelli Gemini, consulta Modelli Gemini.
Utilizzare Grounding con Google Maps per basare le risposte del modello su dati reali
Questo esempio di codice mostra come utilizzare Grounding con Google Maps per basare le risposte del modello.
I risultati di ricerca possono essere personalizzati per una posizione geografica specifica utilizzando le coordinate di latitudine e longitudine. Per ulteriori informazioni, consulta l'API Grounding.
Console
Per utilizzare Grounding con Google Maps con Vertex AI:
Nella console Google Cloud , vai alla pagina Vertex AI Studio.
Nella sezione Strumenti, fai clic su Grounding: Google. Viene visualizzato un riquadro di configurazione.
Per utilizzare Google Maps, fai clic sul pulsante di attivazione/disattivazione Google Maps.
Fai clic su Applica.
Inserisci il prompt nel campo e fai clic su Invia. Le tue risposte rapide in Google Maps.
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
from google import genai
from google.genai.types import (
GenerateContentConfig,
GoogleMaps,
HttpOptions,
Tool,
)
client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="Where can I get the best espresso near me?",
config=GenerateContentConfig(
tools=[
# Use Google Maps Tool
Tool(google_maps=GoogleMaps(
enable_widget=False # Optional: return Maps widget token
))
],
tool_config=types.ToolConfig(
retrieval_config = types.RetrievalConfig(
lat_lng = types.LatLng( # Pass geo coordinates for location-aware grounding
latitude=40.7128,
longitude=-74.006
),
language_code = "en_US", # Optional: localize Maps results
),
),
),
)
print(response.text)
# Example response:
# 'Here are some of the top-rated places to get espresso near you: ...'
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione in cui elaborare la richiesta. Per utilizzare l'endpoint globale, escludi la località dal nome dell'endpoint e configura la località della risorsa come globale.
- PROJECT_ID: il tuo ID progetto
- MODEL_ID: L'ID modello del modello multimodale.
- PROMPT: Il prompt da inviare al modello.
- LATITUDE: la latitudine della posizione. Ad esempio, una latitudine di
37.7749
rappresenta San Francisco. Puoi ottenere le coordinate di latitudine e longitudine utilizzando servizi come Google Maps o altri strumenti di geocodifica. - LONGITUDE: la longitudine della posizione. Ad esempio, una longitudine di
-122.4194
rappresenta San Francisco. - ENABLE_WIDGET: indica se restituire un token e attivare il widget Google Maps (il valore predefinito è
false
).
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "PROMPT" }] }], "tools": [{ "googleMaps": { "enableWidget": "ENABLE_WIDGET" } }], "toolConfig": { "retrievalConfig": { "latLng": { "latitude": LATITUDE, "longitude": LONGITUDE }, "languageCode": "en_US" } }, "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "\"The Italian Place\" in Alexandria, VA, is good for children and offers takeout. It has a rating of 4.2 stars based on 411 reviews." } ] }, "finishReason": "STOP", "groundingMetadata": { "groundingChunks": [ { "maps": { "uri": "https://maps.google.com/?cid=9001322937822692826", "title": "The Italian Place", "placeId": "places/ChIJOTRDf_qwt4kR2kV_WYUf63w" } }, { "maps": { "uri": "https://maps.google.com/?cid=9001322937822692826", "title": "Hank's Pasta Bar", "placeId": "places/MMVtPzn9FGcevML89", "placeAnswerSources": { "reviewSnippets": [ { "id": "places/ChIJOTRDf_qwt4kR2kV_WYUf63w", "title": "Google Maps Review", "uri": "https://maps.google.com/?cid=9001322937822692826" }, ] } } }, ... ], "groundingSupports": [ { "segment": { "endIndex": 79, "text": "\"The Italian Place\" in Alexandria, VA, is good for children and offers takeout." }, "groundingChunkIndices": [ 0 ] }, ], "googleMapsWidgetContextToken": "widgetcontent/..." } } ], ... }
Proprietà del luogo
Questa sezione elenca le proprietà dei luoghi utilizzate per descrivere le località e utilizzate da Grounding con Google Maps per generare risposte. Queste proprietà vengono utilizzate per determinare i tipi di domande a cui può rispondere Grounding con Google Maps.
Proprietà del luogo di esempio
Questo elenco fornisce un campionamento alfabetico delle proprietà dei luoghi che possono essere utilizzate dal modello per generare risposte.
- Indirizzo
- Ritiro all'esterno
- Carta di debito
- Distanza
- Parcheggio gratuito
- Musica dal vivo
- Menu per bambini
- Orari di apertura
- Opzioni di pagamento (ad es. contanti o carta di credito)
- Risposta sul luogo
- Animali ammessi
- Serve birra
- Serve cibo vegetariano
- Accessibile in sedia a rotelle
- Wi-Fi
Le risposte ai luoghi sono una risposta di Grounding con Google Maps basata su informazioni derivate dalle recensioni degli utenti.
Esempi di utilizzo delle proprietà dei luoghi
Gli esempi seguenti utilizzano le proprietà dei luoghi nelle domande su diversi tipi di luoghi. La fondazione con Google Maps utilizza le proprietà per comprendere la tua intenzione e poi fornisce risposte pertinenti in base ai dati associati ai luoghi in Google Maps.
Organizzare una cena in famiglia: potresti chiedere: "Il ristorante "The Italian Place" è adatto ai bambini e offre il servizio d'asporto?" Qual è la loro valutazione?
Le risposte a queste domande ti aiutano a determinare se un ristorante è adatto a una famiglia e se offre un servizio conveniente.
Controllare l'accessibilità per un amico: potresti chiedere: Ho bisogno di un ristorante con un ingresso accessibile in sedia a rotelle.
Una risposta a questa richiesta potrebbe aiutarti a determinare se la posizione soddisfa esigenze di accessibilità specifiche.
Trovare un posto per uno spuntino a tarda notte: potresti chiedere "Burger Joint" è aperto ora? Serve la cena? Quali sono gli orari di apertura per venerdì?
Le risposte a queste domande ti aiutano a trovare un'attività aperta che serve un pasto specifico in un determinato momento.
Incontrare un cliente per un caffè: potresti chiedere: Il "Cafe Central" ha il Wi-Fi? Servono caffè? Qual è il loro livello di prezzo e accettano carte di credito?
Le risposte a queste domande ti aiutano a valutare l'idoneità di un caffè per un incontro di lavoro in base ai servizi, alle offerte e alle opzioni di pagamento.
Le informazioni nei risultati basati su dati reali di Google Maps potrebbero differire dalle condizioni effettive della strada.
Comprendere la risposta
Le fonti di Google Maps vengono restituite in groundingMetadata
entro
groundingChunks
. Le fonti vengono restituite per i luoghi e per le recensioni degli utenti,
che sono state utilizzate per generare il risultato basato su Google Maps.
Questo esempio di codice mostra una fonte di luogo e una fonte di risposta di luogo nella risposta:
"groundingChunks": [
{
"maps": {
"uri": "{Link to Maps Content}",
"title": "{Name of Maps Place}",
"placeId": "{Place ID}",
"placeAnswerSources": {
"reviewSnippets" : [
{
"reviewId": "{Review ID}",
"googleMapsUri": "{Link to Maps Content}",
"title": "{Title of review}"
}
]
}
},
}
],
Requisiti per l'utilizzo del servizio
Questa sezione descrive i requisiti di utilizzo del servizio per Grounding con Google Maps.
Informa l'utente dell'utilizzo delle fonti di Google Maps
Per ogni risultato basato su dati reali di Google Maps, riceverai fonti in
groundingChunks
che supportano ogni risposta. Vengono restituiti anche i seguenti metadati:
- source uri
- titolo
- ID
Quando presenti i risultati di Grounding con Google Maps con Vertex AI, devi specificare le fonti di Google Maps associate e informare gli utenti di quanto segue:
- Le fonti di Google Maps devono seguire immediatamente i contenuti generati che supportano le fonti. Questi contenuti generati sono anche chiamati risultato basato su dati reali di Google Maps.
- Le fonti di Google Maps devono essere visualizzabili in una sola interazione dell'utente.
Visualizzare le fonti di Google Maps con i link di Google Maps
Per ogni origine in groundingChunks
e in
grounding_chunks.maps.placeAnswerSources.reviewSnippets
, deve essere generata
un'anteprima del link in base ai seguenti requisiti:
- Attribuisci ogni fonte a Google Maps seguendo le linee guida per l'attribuzione del testo di Google Maps.
- Mostra il titolo della fonte fornito nella risposta.
- Link alla fonte utilizzando
uri
ogoogleMapsUri
dalla risposta.
Queste immagini mostrano i requisiti minimi per la visualizzazione delle fonti e dei link di Google Maps.
Puoi comprimere la visualizzazione delle fonti.
(Facoltativo) Migliora l'anteprima del link con contenuti aggiuntivi, ad esempio:
- Viene inserita una favicon di Google Maps prima dell'attribuzione del testo di Google Maps.
- Una foto dall'URL di origine (
og:image
).
Per ulteriori informazioni su alcuni dei nostri fornitori di dati di Google Maps e sui relativi termini di licenza, consulta le note legali di Google Maps e Google Earth.
Linee guida per l'attribuzione di testo di Google Maps
Quando attribuisci le fonti a Google Maps nel testo, segui queste linee guida:
- Non modificare in alcun modo il testo Google Maps:
- Non modificare le maiuscole di Google Maps.
- Non mandare a capo Google Maps.
- Non localizzare Google Maps in un'altra lingua.
- Impedisci ai browser di tradurre Google Maps utilizzando l'attributo HTML
translate="no"
.
- Formatta il testo Google Maps come descritto nella tabella seguente:
Proprietà | Stile |
---|---|
Famiglia di caratteri | Roboto. Il caricamento del carattere è facoltativo. |
Famiglia di caratteri di riserva | Qualsiasi carattere del corpo sans-serif già utilizzato nel tuo prodotto o "Sans-Serif" per richiamare il carattere di sistema predefinito |
Stile carattere | Normale |
Spessore del carattere | 400 |
Colore carattere | Bianco, nero (#1F1F1F) o grigio (#5E5E5E). Mantenere un contrasto accessibile (4,5:1) rispetto allo sfondo. |
Dimensione carattere | Dimensioni carattere minime: 12 sp Dimensioni carattere massime: 16 sp Per saperne di più su sp, consulta Unità di dimensione carattere sul sito web Material Design. |
Spaziatura tra le lettere | Normale |
CSS di esempio
Il seguente CSS esegue il rendering di Google Maps con lo stile e il colore tipografici appropriati su uno sfondo bianco o chiaro.
@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;
}
Token di contesto, ID luogo e ID recensione
I dati di Google Maps includono token di contesto, ID luogo e ID recensione. Potresti memorizzare nella cache, archiviare ed esportare i seguenti dati delle risposte:
googleMapsWidgetContextToken
placeId
reviewId
Le limitazioni alla memorizzazione nella cache previste dai Termini del grounding con Google Maps non si applicano.
Territorio vietato
La funzionalità di grounding con Google Maps presenta limitazioni per determinati contenuti e attività per mantenere una piattaforma sicura e affidabile. Il Cliente non distribuirà né commercializzerà un'Applicazione del Cliente che offre la funzionalità di Grounding con Google Maps in un Territorio vietato. I territori attualmente vietati sono:
- Cina
- Crimea
- Cuba
- Repubblica Popolare di Donetsk
- Iran
- Repubblica popolare di Lugansk
- Corea del Nord
- Siria
- Vietnam
Questo elenco potrebbe essere aggiornato di tanto in tanto.
(Facoltativo) Widget contestuale di Google Maps
Il widget contestuale è un'offerta pre-GA di Google Maps che funge da contenitore visivo
utilizzato per supportare o integrare altri contenuti di Google Maps. Il
widget contestuale di Google Maps ti consente di integrare Grounding con Google Maps
nelle tue applicazioni per creare un'esperienza di chat conversazionale basata su LLM.
Il widget contestuale viene visualizzato utilizzando il token di contesto,
googleMapsWidgetContextToken
, restituito nella
risposta dell'API Vertex AI e può essere utilizzato per visualizzare contenuti visivi.
Il widget contestuale svolge diverse funzioni a seconda dello scenario:
Mostra le recensioni e le foto degli utenti, ovvero i contenuti generati dagli utenti, nello scenario in cui viene utilizzato il prompt di Google Maps per la generazione di risposte.
Consente di arricchire i risultati con visualizzazioni e dati della mappa quando Vertex AI genera solo una risposta di testo.
Per ulteriori informazioni sul widget contestuale, vedi Widget di grounding di Maps.
Esegui il rendering del widget contestuale di Google Maps
Per eseguire il rendering e utilizzare il widget contestuale di Google Maps, utilizza la versione alfa dell'API Google Maps JavaScript nella pagina che mostra il widget. Per ulteriori informazioni, consulta Caricare l'API Maps JavaScript.
I seguenti esempi di codice mostrano come utilizzare un widget contestuale:
Crea un widget contestuale.
<body> <gmp-place-contextual id="widget"></gmp-place-contextual> </body>
In qualsiasi risposta basata su Google Maps, è presente un
googleMapsWidgetContextToken
corrispondente utilizzato per il rendering del widget contestuale, posizionato in prossimità della risposta generata.Per aggiornare il token di contesto, imposta
widget.contextToken property
."googleMapsWidgetContextToken": "widgetcontent/AcBXPQdpWQWbap9H-OH8sEKmOXxmEKAYvff0tvthhneMQC3VrqWCjpnPBl4-Id98FGiA_S_t8aeAeJj0T6JkWFX56Bil8oBSR0W8JH3C_RSYLbTjxKdpxc9yNn6JcZTtolIRZon9xi6WpNGuSyjcIxWu2S0hwpasNOpUlWrG1RxVCB4WD1fsz_pwR236mG36lMxevXTQ_JnfdYNuQwQ4Lc3vn...<snip>... Ts5VJE_b3IC5eE_6wez0nh61r7foTUZpP7BXMwxR-7Wyfcj6x1v6mIWsFGr1o0p_HSAMNqWPg-aFVnkPLhAkOR6MaNZOfezTva-gxHlu7z_haFvYxcUE1qfNVQ",
function updateWidget(contextToken) { let widget = document.querySelector('#widget'); widget.contextToken = contextToken; }
(Facoltativo) Specifica il layout dell'elenco. I valori validi includono:
- Layout compatto:
<gmp-place-contextual-list-config layout="compact">
- Layout verticale:
<gmp-place-contextual-list-config layout="vertical">
Questo esempio di codice mostra come modificare il layout elenco in un layout compatto.
<gmp-place-contextual id="widget"> <gmp-place-contextual-list-config layout="compact"> </gmp-place-contextual-list-config> </gmp-place-contextual>
- Layout compatto:
(Facoltativo) Cambia la modalità mappa. I valori validi includono:
- Mappa della roadmap 2D:
map-mode="roadmap"
- Mappa ibrida 3D:
map-mode="hybrid"
- Nessuna mappa:
map-mode="none"
Questo esempio di codice mostra come passare alla modalità mappa 2D.
<gmp-place-contextual id="widget"> <gmp-place-contextual-list-config map-mode="roadmap"> </gmp-place-contextual-list-config> </gmp-place-contextual>
- Mappa della roadmap 2D:
Passaggi successivi
- Per scoprire di più su come basare i modelli Gemini sui tuoi dati, vedi Grounding con i tuoi dati.
- Per scoprire di più sulle best practice per l'AI responsabile e sui filtri di sicurezza di Vertex AI, consulta AI responsabile.