Cette page explique comment l'ancrage avec Google Maps dans Vertex AI peut vous aider à améliorer vos applications d'IA générative en fournissant un contexte géospatial.
Présentation
L'ancrage avec Google Maps dans Vertex AI est un service en aperçu qui connecte les modèles Gemini aux données géospatiales de Google Maps. Google Maps a accès à des informations sur des millions de lieux, y compris des établissements, des monuments et des points d'intérêt. Ces données vous donnent accès à des informations sur plus de 250 millions de lieux qui peuvent être utilisées pour ancrer les réponses de votre modèle, ce qui permet à vos applications et agents d'IA de fournir des données locales et un contexte géospatial.
Utilisations de l'ancrage avec Google Maps
Vous pouvez utiliser Grounding avec Google Maps pour diverses applications, par exemple :
- Agents basés sur le chat.
- Synthèse des informations sur un lieu.
- Traduction de contenus
- Assistants conversationnels capables de répondre à des questions sur les lieux à proximité, comme "Y a-t-il des parcs à proximité ?".
- Des descriptions personnalisées de lieux, par exemple "Pouvez-vous m'en dire plus sur les parcs et les restaurants adaptés aux familles qui se trouvent à distance de marche ?"
Cela peut être utile pour des secteurs tels que l'immobilier, les voyages, la mobilité et les applications sociales.
Pour obtenir de l'aide technique concernant l'ancrage avec Google Maps, envoyez un e-mail à maps-grounding-feedback-external@google.com.
Modèles compatibles
Cette section liste les modèles compatibles avec l'ancrage avec Google Maps.
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Flash avec l'audio natif de l'API Live (preview)
- Gemini 2.0 Flash avec l'API Live (preview)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Pour en savoir plus sur les modèles Gemini, consultez Modèles Gemini.
Utiliser l'ancrage avec Google Maps pour ancrer les réponses de votre modèle
Cet exemple de code montre comment utiliser l'ancrage avec Google Maps pour ancrer les réponses de votre modèle.
Les résultats de recherche peuvent être personnalisés pour une zone géographique spécifique à l'aide des coordonnées de latitude et de longitude. Pour en savoir plus, consultez l'API Ancrage.
Console
Pour utiliser l'ancrage avec Google Maps avec Vertex AI Studio, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Vertex AI Studio.
- Cliquez sur l'onglet Forme libre.
- Dans le panneau latéral, cliquez sur le bouton d'activation Ancrer des réponses de modèle.
- Cliquez sur Personnaliser et définissez Google Maps comme source.
- Saisissez votre requête dans la zone de texte et cliquez sur Envoyer.
Vos réponses aux requêtes sont ancrées sur Google Maps.
REST
Avant d'utiliser des données de requête, effectuez les remplacements suivants :
- LOCATION : région dans laquelle traiter la requête.
- PROJECT_ID : l'ID de votre projet.
- MODEL_ID : l'ID du modèle multimodal.
- TEXT : instructions textuelles à inclure dans la requête.
- LATITUDE : latitude de l'emplacement. Par exemple, une latitude de
37.7749
représente San Francisco. Vous pouvez obtenir les coordonnées de latitude et de longitude à l'aide de services tels que Google Maps ou d'autres outils de géocodage. - LONGITUDE : longitude de l'emplacement. Par exemple, une longitude de
-122.4194
représente San Francisco.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }], "tools": [{ "googleMaps": {} }], "toolConfig": { "retrievalConfig": { "latLng": { "latitude": LATITUDE, "longitude": LONGITUDE } } }, "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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", "text": "**About:**\n\n* **Type:** Italian Restaurant\n* **Address:** 621 Wythe St, Alexandria, VA 22314, USA\n* **Open Now:** Yes\n* **Rating:** 4.2 (411 reviews)\n* **Price Level:** Moderate\n* **Phone:** (571) 777-8981\n* **Summary:** Down-to-earth, counter-serve stop offering Italian sandwiches, coffee & market goods.\n* **Additional Summary:** Relaxed Italian eatery known for sandwiches and pizza along with gourmet food items and gelato.\n* **Offers Takeout:** Yes\n* **Offers Delivery:** Yes\n* **Offers Dine-in:** Yes\n* **Good for Children:** Yes\n* **Has Restroom:** Yes\n* **Outdoor Seating:** Yes\n* **Live Music:** No\n* **Menu for Children:** No\n* **Serves Dessert:** Yes\n* **Serves Coffee:** Yes\n* **Good for Watching Sports:** No\n* **Serves Lunch:** Yes\n* **Serves Dinner:** Yes\n* **Serves Beer:** Yes\n* **Serves Vegetarian Food:** Yes\n\n**Opening Hours (local time):**\n\n* Monday: 11:00 AM – 7:00 PM\n* Tuesday: 10:00 AM – 7:00 PM\n* Wednesday: 11:00 AM – 7:00 PM\n* Thursday: 11:00 AM – 7:00 PM\n* Friday: 11:00 AM – 7:00 PM\n* Saturday: 11:00 AM – 7:00 PM\n* Sunday: 12:00 – 7:00 PM\n\n**Parking options:**\n\n* **Free parking lot:** Yes\n* **Free street parking:** Yes\n* **Valet parking:** No\n\n**Accessibility:**\n\n* **Wheelchair accessible parking:** Yes\n* **Wheelchair accessible restroom:** Yes\n\n**Payment options:**\n\n* **Credit Card:** Yes\n* **Debit Card:** Yes\n* **Cash Only:** No\n* **NFC:** Yes\n\n**Distance & Travel Time:**\n\n* 384.6 kilometers\n* 4.2 hours", "placeId": "places/ChIJOTRDf_qwt4kR2kV_WYUf63w" } }, ... ], "groundingSupports": [ { "segment": { "endIndex": 79, "text": "\"The Italian Place\" in Alexandria, VA, is good for children and offers takeout." }, "groundingChunkIndices": [ 0 ] }, { "segment": { "startIndex": 80, "endIndex": 130, "text": "It has a rating of 4.2 stars based on 411 reviews." }, "groundingChunkIndices": [ 0 ] } ], "googleMapsWidgetContextToken": "widgetcontent/..." } } ], ... }
(Facultatif) Widget contextuel Google Maps
Le widget contextuel est une offre Google Maps en prédisponibilité générale. Il s'agit d'un conteneur visuel utilisé pour prendre en charge ou compléter d'autres contenus Google Maps. Le widget contextuel Google Maps vous permet d'intégrer l'ancrage avec Google Maps à vos applications pour créer une expérience de chat conversationnelle basée sur un LLM. Le widget contextuel est affiché à l'aide du jeton de contexte googleMapsWidgetContextToken
, qui est renvoyé dans la réponse de l'API Vertex AI et peut être utilisé pour afficher du contenu visuel.
Le widget contextuel remplit différentes fonctions selon votre scénario :
Il affiche du contenu subjectif généré par les utilisateurs (CGU) dans le scénario où l'invite Google Maps est utilisée pour générer des réponses.
Il permet d'enrichir les résultats avec des visualisations de cartes et des données lorsque Vertex AI ne génère qu'une réponse textuelle.
Pour en savoir plus sur le widget contextuel, consultez Widget d'ancrage Maps.
Afficher le widget contextuel Google Maps
Pour afficher et utiliser le widget contextuel Google Maps, utilisez la version alpha de l'API Maps JavaScript sur la page qui affiche le widget. Pour en savoir plus, consultez Charger l'API Maps JavaScript.
Les exemples de code suivants montrent comment utiliser un widget contextuel :
HTML
Créez un widget contextuel.
<body> <gmp-place-contextual id="widget"></gmp-place-contextual> </body>
Dans toute réponse ancrée dans Google Maps, un
googleMapsWidgetContextToken
correspondant est utilisé pour afficher le widget contextuel et placé à proximité de la réponse générée.Pour mettre à jour le jeton de contexte, définissez
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; }
Facultatif : Spécifiez la mise en page de la liste. Les valeurs valides sont les suivantes:
- Mise en page compacte :
<gmp-place-contextual-list-config layout="compact">
- Mise en page verticale :
<gmp-place-contextual-list-config layout="vertical">
Cet exemple de code montre comment modifier la mise en page de la liste pour la rendre compacte.
<gmp-place-contextual id="widget"> <gmp-place-contextual-list-config layout="compact"> </gmp-place-contextual-list-config> </gmp-place-contextual>
- Mise en page compacte :
Facultatif : Modifiez le mode Plan. Les valeurs valides sont les suivantes:
- Carte de route 2D :
map-mode="roadmap"
- Carte hybride 3D :
map-mode="hybrid"
- Aucune carte :
map-mode="none"
Cet exemple de code montre comment passer au mode Plan 2D.
<gmp-place-contextual id="widget"> <gmp-place-contextual-list-config map-mode="roadmap"> </gmp-place-contextual-list-config> </gmp-place-contextual>
- Carte de route 2D :
JavaScript
Créez un widget contextuel.
async function createWidget(contextToken) { await google.maps.importLibrary('places'); let widgetContainer = document.querySelector('#wc'); // a div that contains the widget const placeContextualElement = new google.maps.places.PlaceContextualElement({ contextToken }); widgetContainer.appendChild(placeContextualElement); }
Dans toute réponse ancrée dans Google Maps, un
googleMapsWidgetContextToken
correspondant est utilisé pour afficher le widget contextuel et placé à proximité de la réponse générée.Pour mettre à jour le jeton de contexte, définissez la propriété
widget.contextToken
."googleMapsWidgetContextToken": "widgetcontent/AcBXPQdpWQWbap9H-OH8sEKmOXxmEKAYvff0tvthhneMQC3VrqWCjpnPBl4-Id98FGiA_S_t8aeAeJj0T6JkWFX56Bil8oBSR0W8JH3C_RSYLbTjxKdpxc9yNn6JcZTtolIRZon9xi6WpNGuSyjcIxWu2S0hwpasNOpUlWrG1RxVCB4WD1fsz_pwR236mG36lMxevXTQ_JnfdYNuQwQ4Lc3vn...<snip>... Ts5VJE_b3IC5eE_6wez0nh61r7foTUZpP7BXMwxR-7Wyfcj6x1v6mIWsFGr1o0p_HSAMNqWPg-aFVnkPLhAkOR6MaNZOfezTva-gxHlu7z_haFvYxcUE1qfNVQ",
function updateWidget(contextToken) { widget.contextToken = contextToken; }
Facultatif : Spécifiez la mise en page de la liste. Les valeurs valides sont les suivantes:
- Mise en page compacte :
layout: google.maps.places.PlaceContextualListLayout.COMPACT
- Mise en page verticale :
layout: google.maps.places.PlaceContextualListLayout.VERTICAL
Cet exemple de code montre comment modifier la mise en page de la liste pour la rendre compacte.
const widgetConfig = new google.maps.places.PlaceContextualListConfigElement({ layout: google.maps.places.PlaceContextualListLayout.COMPACT }); widget.appendChild(widgetConfig);
- Mise en page compacte :
Facultatif : Modifiez le mode Plan. Les valeurs valides sont les suivantes:
- Carte de route 2D :
mapMode: google.maps.places.PlaceContextualListMapMode.ROADMAP
- Carte hybride 3D :
mapMode: google.maps.places.PlaceContextualListMapMode.HYBRID
- Aucune carte :
mapMode: google.maps.places.PlaceContextualListMapMode.NONE
Cet exemple de code montre comment passer au mode Plan 2D.
const widgetConfig = new google.maps.places.PlaceContextualListConfigElement({ mapMode: google.maps.places.PlaceContextualListMapMode.ROADMAP }); widget.appendChild(widgetConfig);
- Carte de route 2D :
Exigences concernant l'attribution de la source
Lorsque vous présentez du contenu généré par Vertex AI qui fait directement référence à des informations mises à disposition à l'aide de l'ancrage avec Google Maps, vous devez spécifier les sources Google Maps qui ont été utilisées pour étayer la réponse.
Cette image montre les sources Google Maps qui ont été utilisées pour étayer la réponse du modèle.
Informer l'utilisateur final de l'utilisation des sources d'ancrage
Vous devez informer vos utilisateurs des points suivants :
- Les sources d'ancrage utilisées pour étayer le contenu généré par le LLM à proximité du contenu.
- Les sources d'ancrage doivent être visibles en une seule interaction utilisateur.
Afficher les URL sources Google Maps
Les sources Google Maps sont renvoyées dans groundingMetadata
dans groundingChunks
et groundingSupports
. Les sources Google Maps sont renvoyées à la fois pour les lieux et pour le contenu de réponse associé (par exemple, les avis des utilisateurs) qui ont été utilisés pour générer la réponse.
Cet exemple de code montre une source de lieu et une source de réponse de lieu dans la réponse :
"groundingChunks": [
{
"maps": {
"uri": "{Link to Maps Content}",
"title": "{Name of Maps Place}",
"text": "{Maps content that was sent to the model for this place}"
"placeId": "{Place ID}",
"placeAnswerSources":
{
"review": "",
"authorAttribution": {
"displayName": "",
"photoUri": ""
},
"flagContentUri": "",
"googleMapsUri": ""
},
},
"flagContentUri": ""
}
}
}
],
Pour chaque source référencée par le LLM, un aperçu du lien doit être généré en respectant les exigences suivantes :
- Attribuez chaque source à Google Maps en suivant les consignes concernant l'attribution de texte.
- Affichez le titre de la page Open Graph (
og:title
) ou le titre au format
.[Place Name] - Google Maps
- Accédez au contenu source à l'aide de l'URL source.
Si des sources de réponses sur le lieu se trouvent dans groundingChunks
, vous devez procéder comme suit :
- Afficher les liens d'examen dans
grounding_chunks.maps.placeAnswerSources.reviewSnippets.googleMapsUri
. - Affichez le titre Open Graph ou un titre au format suivant :
.Google Review of [Place Name] by [Author Name]
.Place Name
se trouve dansgrounding_chunks.maps.title
etAuthor Name
se trouve dansgrounding_chunks.maps.placeAnswerSources.reviewSnippets.authorAttribution.displayName
. Facultatif : Améliorez l'aperçu du lien avec du contenu supplémentaire, par exemple :
- Favicon Google Maps (
<link rel="icon" href="https://www.google.com/favicon.ico">
) inséré avant l'attribution textuelle de Google Maps. - Description (
og:description
) - Photo (
og:image
)
- Favicon Google Maps (
Ces images montrent les exigences minimales, à savoir afficher les liens vers les lieux.
Vous pouvez réduire la vue des sources.
Cette image montre la photo du lieu, qui est un lien facultatif permettant de prévisualiser les attributs des sources.
Territoires interdits
Google Maps limite certains contenus et activités pour maintenir une plate-forme sûre et fiable. Pour obtenir la liste des territoires interdits, consultez Territoires interdits sur Google Maps Platform.
Propriétés du lieu
Cette section liste les propriétés de lieu utilisées pour décrire les lieux et utilisées par l'ancrage avec Google Maps pour générer des réponses. Ces propriétés permettent de déterminer les types de questions auxquelles l'ancrage avec Google Maps peut répondre.
Exemples de propriétés de lieu
Cette liste fournit un échantillon alphabétique de propriétés sur les lieux que votre modèle peut utiliser pour générer des réponses.
- Adresse
- Drive disponible
- Carte de débit
- Distance
- Parking gratuit
- Concerts
- Menu pour enfants
- Horaires d'ouverture
- Options de paiement (espèces ou carte de crédit, par exemple)
- Réponse sur le lieu
- Animaux acceptés
- Bière
- Sert des plats végétariens
- Accessible en fauteuil roulant
- Wi-Fi
Les réponses sur les lieux sont des réponses de l'ancrage avec Google Maps basées sur des informations issues des avis des utilisateurs. Si le contenu de la réponse sur le lieu fournie dans les métadonnées pose problème, vous pouvez le signaler à Google à l'aide d'un lien dans le champ flagContentUri
à l'intérieur de l'objet PlaceAnswerSources
dans la réponse de l'API.
Exemples d'utilisation des propriétés de lieu
Les exemples suivants utilisent des propriétés de lieu dans des questions sur différents types de lieux. L'ancrage avec Google Maps utilise les propriétés pour comprendre votre intention, puis fournit des réponses pertinentes en fonction des données associées aux lieux dans Google Maps.
Organiser un dîner en famille : vous pouvez demander "Est-ce que "The Italian Place" est adapté aux enfants et propose des plats à emporter ?" Quelle est sa note ?
Les réponses à ces questions vous aident à déterminer si un restaurant convient à une famille et s'il propose un service pratique.
Vérifier l'accessibilité pour un ami : vous pouvez demander J'ai besoin d'un restaurant avec une entrée accessible en fauteuil roulant.
Une réponse à cette requête peut vous aider à déterminer si le lieu répond à des besoins spécifiques en matière d'accessibilité.
Trouver un endroit pour une collation tardive : vous pouvez demander "Est-ce que le restaurant "Burger Joint" est ouvert maintenant ?" Sert-il à dîner ? Quels sont leurs horaires d'ouverture pour vendredi ?
Les réponses à ces questions vous aident à trouver un établissement ouvert qui sert un repas spécifique à une heure précise.
Prendre un café avec un client : vous pouvez demander Le "Café Central" a-t-il le Wi-Fi ? Propose-t-il du café ? Quel est leur niveau de prix et acceptent-ils les cartes de crédit ?
Les réponses à ces questions vous aident à évaluer si un café est adapté à une réunion d'affaires en fonction des équipements, des offres et des options de paiement.
Étapes suivantes
- Pour savoir comment ancrer des modèles Gemini sur vos données, consultez Ancrage avec vos données.
- Pour en savoir plus sur les bonnes pratiques d'IA responsable et les filtres de sécurité de Vertex AI, consultez IA responsable.