Compétence de géolocalisation Mapbox
Apprend aux assistants IA à ancrer les réponses conscientes de la localisation dans les données Mapbox en direct en composant les outils MCP en une réponse structurée et citée. À utiliser à la place de la dépendance aux données d'entraînement pour les noms de lieux, les POI, les évaluations ou les temps de trajet — qui sont obsolètes et sujets aux hallucinations.
Quand utiliser l'ancrage
Ancrez les réponses quand l'utilisateur demande :
- « Qu'y a-t-il près de [localisation] ? » ou « Qu'y a-t-il autour de [coordonnées] ? »
- « Décris ce quartier / cette zone »
- « Trouve [catégorie] à distance de marche/voiture »
- « Que puis-je faire près de [adresse] ? »
- « Combien de temps faut-il pour aller de A à B ? »
- « Qu'y a-t-il à moins de 10 minutes à pied d'ici ? »
- « Quelle est la distance entre ces lieux ? »
- Immobilier, voyage, mobilité, ou cas d'usage de découverte locale
- Toute question où la précision du lieu, l'actualité ou le temps de trajet compte
Ne répondez jamais aux questions de localisation à partir des données d'entraînement seules. Récupérez toujours les données en direct.
Composition des outils d'ancrage
Préféré : appel unique
Si ground_location_tool est disponible, utilisez-le — il gère le géocodage inverse, la recherche de POI, l'enrichissement des détails de lieux, l'isochrone et une image de carte statique en un seul appel :
ground_location_tool(
longitude, latitude,
query: "restaurant", // optional — catégorie ou sous-catégorie de lieux à proximité à trouver
profile: "mapbox/walking", // optional — profil de voyage pour l'isochrone
contours_minutes: [5, 10, 15]
)
Retourne :
- Nom du quartier/lieu à partir du géocodage inverse
- POI à proximité avec distances, évaluations, niveaux tarifaires et popularité (si disponible)
- Accessibilité par temps de trajet à partir de l'isochrone
- Une image de carte statique pour le contexte visuel
- Citations pour toutes les sources de données
N'appelez pas reverse_geocode_tool, category_search_tool, place_details_tool ou isochrone_tool séparément — ils sont déjà composés à l'intérieur de cet outil.
Paramètre de requête
Le paramètre query accepte les termes de catégorie ou sous-catégorie — pas les préférences d'attributs :
- Supportés :
"restaurant","coffee","park","Italian restaurant","EV charging station" - Non supportés :
"family-friendly","fast charging","outdoor seating"— ce ne sont pas des attributs filtrables dans les données Mapbox
Pour aider les utilisateurs à trouver des lieux correspondant à une préférence (p. ex. « convivial pour les familles »), recherchez par catégorie ("restaurant") et utilisez les données d'évaluation et de tarification retournées pour éclairer la recommandation.
Fallback : composition manuelle
Si ground_location_tool n'est pas disponible, construisez la réponse ancrée en composant ces outils dans l'ordre :
Étape 1 — Établir le contexte du lieu
reverse_geocode_tool(longitude, latitude, types: "neighborhood,locality,place")
Retourne : quartier, ville, région, pays. C'est l'ancre de la réponse.
Étape 2 — Récupérer les POI à proximité
Pour des noms ou marques spécifiques :
search_and_geocode_tool(query, proximity: {longitude, latitude}, limit: 10)
Pour les catégories génériques :
category_search_tool(category, proximity: {longitude, latitude}, limit: 10)
Étape 3 — Enrichir les POI avec évaluations et tarif (optionnel mais très utile)
Pour chaque POI avec un mapbox_id, appelez en parallèle :
place_details_tool(mapbox_id, attribute_sets: ["visit"])
Retourne : évaluation, niveau tarifaire, popularité et horaires d'ouverture par lieu.
Étape 4 — Ajouter le contexte de temps de trajet (optionnel mais très utile)
isochrone_tool(
coordinates: {longitude, latitude},
profile: "mapbox/walking", // ou "mapbox/driving", "mapbox/cycling", "mapbox/driving-traffic"
contours_minutes: [5, 10, 15]
)
Retourne un polygone montrant ce qui est accessible dans chaque seuil de temps.
Étape 5 — Ancrage visuel (optionnel)
static_map_image_tool(longitude, latitude, zoom: 14)
Retourne une image de carte qui peut être incluse dans la réponse pour le contexte visuel.
Structure de réponse ancrée
Structurez toujours les réponses ancrées avec des citations explicites :
Lieu : [quartier, ville du reverse_geocode]
[catégorie] à proximité : [liste de la recherche/outil de catégorie, avec noms, évaluations, prix et distances]
Contexte de voyage : [X min de marche / Y min de voiture à partir de l'isochrone]
Sources : Mapbox Search, Mapbox Directions (données en direct)
Exemple de réponse ancrée :
SoMa, San Francisco, CA (données Mapbox en direct)
Restaurants à distance de marche :
- Bix Restaurant $$ ★8,4 — 56 Gold St (180 m)
- The Bird $ ★7,9 — 115 New Montgomery St (320 m)
- Oren's Hummus $$ ★8,1 — 131 Townsend St (510 m)
Accessible à pied : 5 min, 10 min, 15 min
Sources : Mapbox Geocoding API, Mapbox Search API, Mapbox Place Details API, Mapbox Isochrone API, Mapbox Static Images API
Ancrage d'itinéraire
Pour les questions sur les trajets entre deux lieux, utilisez directions_tool. Pour les questions sur la zone accessible, utilisez isochrone_tool. Pour comparer les temps de trajet entre plusieurs lieux, utilisez matrix_tool.
Temps et distance point à point
« Combien de temps faut-il pour conduire de Pike Place Market à Capitol Hill ? » « Quel est l'itinéraire le plus rapide de l'hôtel à l'aéroport ? »
directions_tool(
waypoints: [{longitude, latitude}, {longitude, latitude}],
profile: "mapbox/driving-traffic" // trafic en direct ; ou "mapbox/walking", "mapbox/cycling", "mapbox/driving"
)
Retourne : durée (avec trafic en direct), distance, instructions détaillées et une polyline encodée pour le rendu de carte. Supporte jusqu'à 25 waypoints pour les itinéraires multi-étapes.
Accessibilité de zone (« dans X minutes »)
« Qu'y a-t-il d'accessible à moins de 10 minutes à pied ? » « Montre-moi ce que je peux atteindre en 15 minutes en voiture d'ici »
isochrone_tool(
coordinates: {longitude, latitude},
profile: "mapbox/walking",
contours_minutes: [5, 10, 15]
)
Retourne un polygone montrant la zone accessible dans chaque seuil de temps. Combiné avec category_search_tool ou ground_location_tool pour répondre à « quels restaurants y a-t-il à moins de 10 minutes à pied ? » — utilisez l'isochrone pour définir la limite, puis recherchez dans celle-ci.
Matrice de temps de trajet multi-lieux
« Lequel de ces trois bureaux est le plus proche de ma localisation ? » « Quels sont les temps de trajet de cet entrepôt à chacune de nos zones de livraison ? » « Compare les temps de trajet vers plusieurs lieux »
Utilisez matrix_tool — n'appelez PAS directions_tool séparément pour chaque paire. Matrix regroupe toutes les paires en un seul appel API.
matrix_tool(
sources: [{longitude, latitude}, ...],
destinations: [{longitude, latitude}, ...],
profile: "mapbox/driving-traffic"
)
Retourne une matrice de durées et distances entre chaque paire source/destination. Classez les résultats par durée pour trouver le lieu le plus proche. Un appel matrix_tool remplace N appels directions_tool séparés.
Recherche de proximité avec contexte d'itinéraire
Pour « trouve [catégorie] dans X minutes de [lieu] » :
- Géocodez l'origine si nécessaire :
search_and_geocode_tool(address) - Obtenez la zone accessible :
isochrone_tool(coordinates, profile, contours_minutes) - Recherchez les POI :
ground_location_tool(longitude, latitude, query: "category")— les contours de l'isochrone indiquent à l'utilisateur ce qui est accessible dans chaque bande de temps
Ou plus directement : ground_location_tool retourne à la fois les POI à proximité et l'accessibilité de l'isochrone en un seul appel, ce qui couvre la plupart des cas d'usage de proximité + itinéraire sans composition supplémentaire.
Exemple de réponse d'itinéraire
Pike Place Market → Capitol Hill, Seattle
En voiture (avec trafic) : 12 min, 3,2 km via Pine St À pied : 28 min, 2,1 km À vélo : 14 min, 2,3 km
Source : Mapbox Directions API (trafic en direct)
Ce que l'ancrage Mapbox offre par rapport aux données d'entraînement
| Données d'entraînement | Ancrage Mapbox | |
|---|---|---|
| Précision POI | Obsolète, hallucée | En direct, vérifiée |
| Évaluations/prix | Souvent faux | En direct via Place Details |
| Horaires d'ouverture | Souvent faux | En direct via Place Details |
| Temps de trajet | Estimés | Trafic en direct via Directions |
| Zone accessible | Non disponible | Polygones isochrones |
| Itinéraire multi-étapes | Non disponible | Jusqu'à 25 waypoints |
| Nouveaux lieux | Manquants | Indexés |
| Image de carte | Aucune | Carte statique intégrée |
| Citations | Aucune | Outil + source API |
Limitations importantes
- Filtrage d'attributs (convivial pour les familles, sièges en terrasse, charge rapide) n'est pas supporté par l'API de recherche de catégories. Utilisez les termes de catégories et laissez les données d'évaluation et de tarif éclairer les recommandations basées sur les préférences.
- La couverture des POI varie selon la région. Si la recherche retourne peu de résultats, dites-le plutôt que de compléter avec des suppositions.
- Les coordonnées sont requises pour la recherche de proximité — si l'utilisateur fournit une adresse, géocodez-la d'abord avec
search_and_geocode_toolavant d'exécuter la recherche de catégorie.
Anti-modèles à éviter
- Répondre à « qu'y a-t-il près de X ? » à partir des données d'entraînement sans appeler les outils de recherche
- Estimer les temps de trajet sans appeler
directions_toolouisochrone_tool - Halluciner les noms d'entreprises, les horaires ou les évaluations
- Appeler
reverse_geocode_tool+category_search_tool+place_details_toolséparément quandground_location_toolest disponible - Utiliser des termes d'attributs comme « convivial pour les familles » comme paramètre de requête — utilisez la catégorie à la place
- Retourner la sortie brute de l'outil sans synthétiser en une réponse lisible
- Omettre les citations — indiquez toujours que la réponse est ancrée dans les données Mapbox en direct