Capacités du modèle Gemini pour l'API Places

Les fonctionnalités du modèle Gemini pour l'API Places (nouvelle) permettent d'utiliser les LLM dans l'API Places afin de pouvoir renvoyer les données associées à un lieu (horaires d'ouverture, avis, photos) ainsi que les données fournies par les LLM. Ces données génératives contiennent des données agrégées et résumées des LLM pour améliorer les données déjà associées à un lieu.

Par exemple, une Recherche de texte (nouvelle) standard pour "bornes de recharge de VE" renvoie une liste de lieux proposant des bornes de recharge de VE. Ce type de réponse convient si vous recherchez simplement la borne de recharge de VE la plus proche ou la plus compatible avec votre véhicule.

Vous pouvez également mieux comprendre la zone autour de la borne de recharge, en particulier si vous allez y rester une heure ou plus pendant que votre véhicule se recharge. Lorsque vous utilisez les fonctionnalités du modèle Gemini pour cette même recherche, la réponse peut contenir des descriptions dynamiques et génératives de chaque lieu dans la réponse, y compris des informations sur la zone autour de la borne de recharge:

  • "À 2 à 4 minutes à pied, vous trouverez plusieurs options de restauration et de shopping, y compris le restaurant Chef Chu's, le restaurant Gen Korean BBQ House, le restaurant Amber India, le restaurant Pacific Catch et plusieurs épiceries, comme Walmart, Whole Foods Market et Trader Joe's."

  • "À moins de 15 minutes à pied, vous trouverez plusieurs options de restauration et de shopping, y compris Khao Kang Thai Kitchen, Roger's Deli & Donuts et La Costeña. Pour les sushis, Joy Sushi est une bonne option. Pour les produits alimentaires, Dollar Tree propose une variété de produits à prix réduits."

Ce contenu génératif des LLM améliore la réponse et fournit des informations supplémentaires pour aider les utilisateurs à prendre une décision éclairée.

Nouvelles fonctionnalités optimisées par l'IA ajoutées à l'API Places (nouveau)

Ces fonctionnalités ajoutent les données suivantes à une réponse de l'API Places (nouvelle) :

  • Résumés de lieu génératifs associés à un lieu spécifique. Les résumés de lieu sont compatibles avec Place Details (New), Text Search (New) et Nearby Search (New).

  • Résumés de zone génératifs liés à une zone spécifique autour d'un lieu. Les récapitulatifs de zone sont compatibles avec Place Details (New), Text Search (New) et Nearby Search (New).

  • Les résultats de la recherche contextuelle sont compatibles avec Text Search (nouveau) et contiennent des données basées sur la chaîne de recherche transmise dans la requête, plutôt que des données directement associées à un lieu. Ces données permettent de comprendre comment la recherche dans le texte (nouvelle) détermine la réponse.

Résumés génératifs des lieux

Les récapitulatifs de lieu génératifs sont spécifiques à un ID de lieu. Les récapitulatifs de lieu regroupent de nombreux types de données dans un récapitulatif unique pour le lieu.

La nouvelle API Places propose deux types de résumés génératifs de lieux:

  • Résumés: bref aperçu d'un lieu, d'environ 100 caractères en moyenne, qui peut aider les utilisateurs à obtenir un aperçu d'un lieu.

  • Résumés de description: résumés plus longs d'un lieu, d'environ 400 caractères en moyenne, qui fournissent un aperçu détaillé des principaux aspects du lieu.

Les résumés de lieu sont actuellement disponibles pour les types de lieux indiqués dans Types acceptés pour les catégories Culture, Divertissement et loisirs, Alimentation et boissons, Shopping et Sports.

Résumés génératifs par zone

Le LLM crée des récapitulatifs de zone génératifs pour la zone proche d'un lieu. Le récapitulatif de zone d'un lieu peut contenir toutes les informations nécessaires pour qu'un utilisateur prenne une décision, sans qu'il ait à effectuer d'autres requêtes pour obtenir des détails sur la zone.

En plus d'une description de la zone, la réponse contient également une liste d'ID de lieu pour les lieux référencés dans la description, ainsi qu'une liste de lieux triés par différents types de contenu. Par exemple, un type de contenu contient une liste de lieux associés à des activités dans la région, et un autre contient une liste de restaurants dans la région.

Les résumés de zone sont actuellement disponibles pour les types de lieux indiqués dans la section Types acceptés pour la catégorie Hébergement, ainsi que pour les types de lieux spécifiques electric_vehicle_charging_station, geocode et premise.

Génération de résumés sur les lieux et les zones

Google génère fréquemment des récapitulatifs de lieux génératifs et des récapitulatifs de zones génératifs hors connexion. En générant ces récapitulatifs hors connexion, vous pouvez profiter du contenu optimisé par Gemini tout en obtenant les mêmes performances de l'API Places (nouvelle) que vous attendez déjà.

Google regénère fréquemment ces récapitulatifs pour s'assurer qu'ils sont à jour en fonction des dernières informations disponibles. Cela signifie que vous afficherez les données les plus récentes dans votre service lorsque vous appellerez l'API.

Résultats de recherche contextuelle

Text Search (nouveau) renvoie des informations sur un ensemble de lieux en fonction d'une chaîne, par exemple "pizza à New York" ou "magasins de chaussures près d'Ottawa". La réponse Text Search (nouvelle version) contient une liste des lieux correspondant à la chaîne de texte et aux limitations de zone géographique définies dans la requête.

Lorsque vous ajoutez des résultats de recherche contextuelle à la réponse, celle-ci inclut désormais des avis, des photos et des justifications qui aident les utilisateurs à répondre aux questions:

  • Pourquoi cet établissement s'affiche-t-il dans les résultats ?
  • Pourquoi choisir cet établissement ?

Par exemple, vous envoyez aujourd'hui une requête à Place Details (New), Text Search (New) ou Nearby Search (New) qui inclut un lieu spécifique dans la réponse. Les données de réponse pour le lieu sont les mêmes pour les trois requêtes, car les données renvoyées sont associées à ce lieu.

Toutefois, pour une recherche dans le texte (nouvelle version) qui utilise les nouvelles fonctionnalités, la réponse peut inclure des données dérivées de la chaîne de requête d'entrée elle-même. Cela signifie que les résultats de recherche contextuelle sont propres à la chaîne de requête. Par exemple, vous envoyez une requête Text Search (New) avec la chaîne de requête suivante:

"Restaurant végétarien épicé à Mountain View (Californie)"

Vous laissez ensuite tous les paramètres d'entrée inchangés et modifiez uniquement la chaîne de requête pour qu'elle soit la suivante:

"Restaurant végan épicé à Mountain View (Californie)"

Pour un restaurant qui apparaît dans les deux réponses, les données de réponse sur l'établissement sont les mêmes, car elles sont associées à l'établissement lui-même. Toutefois, les résultats de recherche contextuelle sont propres à la requête, car ils sont dérivés de la chaîne de requête. Vous pouvez ensuite afficher les avis, les photos et les justifications des résultats de recherche contextuelle à vos utilisateurs pour les aider à choisir le lieu le plus pertinent dans la réponse à leur requête de recherche.

Activer les fonctionnalités du modèle Gemini pour l'API Places (nouveau)

Vous devez activer l'API Places (nouvelle version) pour utiliser les fonctionnalités de modèle Gemini pour l'API Places (nouvelle version). Pour en savoir plus, consultez Configurer votre projet Google Cloud.

Restrictions concernant la version expérimentale

Cette version n'est compatible qu'avec les résumés de lieux et d'aires géographiques situés aux États-Unis et en anglais uniquement.

Qu'est-ce que Gemini ?

Pour en savoir plus sur le modèle Gemini, consultez les questions fréquentes sur Gemini.

Demander un résumé génératif d'un lieu

Les récapitulatifs de lieu sont des récapitulatifs génératifs créés par le LLM pour un lieu spécifique. L'API Places (nouvelle) ajoute deux types de récapitulatifs à une réponse:

  • Résumés génératifs Vue d'ensemble, semblables au résumé éditorial statique associé à un lieu. Les courts résumés génératifs, qui comptent en moyenne environ 100 caractères, présentent plusieurs avantages:

    • De nombreux lieux ne disposent pas de résumés éditoriaux. Ils comblent donc une lacune dans les informations disponibles sur un lieu.

    • Elles sont générées à partir du LLM. Le propriétaire de l'établissement n'a donc pas besoin de les gérer.

  • Les résumés génératifs de la description sont dérivés de nombreuses sources, y compris des avis Google Maps. La description, qui compte en moyenne 400 caractères, inclut une liste d'avis utilisés pour générer la description longue.

    Pour générer manuellement des résumés de description, une personne doit agréger des données provenant de nombreux emplacements, puis créer et gérer manuellement le contenu. Les fonctionnalités du modèle Gemini pour l'API Places (nouvelle) génèrent ces résumés à partir des LLM afin de maintenir la portée et la fraîcheur du contenu généré.

Les résumés de lieu sont compatibles avec Place Details (New), Text Search (New) et Nearby Search (New). Pour inclure le résumé du lieu dans la réponse, incluez le champ suivant dans le masque de champ de la requête:

  • Informations sur le lieu: generativeSummary

  • Recherche textuelle et recherche à proximité: places.generativeSummary

Le champ generativeSummary contient les champs suivants:

  • generativeSummary.overview: résumé de la vue d'ensemble générative.
  • generativeSummary.description: résumé de la description générative.
  • generativeSummary.references: tableau comportant jusqu'à cinq avis utilisés pour fournir du contenu pour le résumé de la description. Si aucun résumé de description n'est fourni, ce tableau est vide.
  • overviewFlagContentUri: lien permettant aux utilisateurs de signaler un problème avec le résumé de la vue d'ensemble.
  • descriptionFlagContentUri: lien permettant aux utilisateurs de signaler un problème avec le résumé de la description.

Exemple de demande de résumé de présentation et de description

Cet exemple utilise un masque de champ places.generativeSummary pour renvoyer l'intégralité de l'objet generativeSummary, y compris les champs generativeSummary.overview, generativeSummary.description et generativeSummary.references:

curl -X  POST -d '{
  "textQuery": "Spicy Vegetarian Food",
  "location_bias":{
    "rectangle":{
      "low": {
        "latitude": 37.415,
       "longitude": -122.091},
    "high":{
      "latitude": 37.429,
      "longitude": -122.065}
    }
  },
  "maxResultCount": 5
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.generativeSummary" \
https://places.googleapis.com/v1/places:searchText

La réponse est au format suivant:

{
  "places": [
    {
      "id": "ChIJQ8nPjFW3j4ARcAaUg5pF-Ts",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual restaurant serving halal Pakistani and Indian cuisine, plus a selection of vegetarian items.",
          "languageCode": "en-US"
        },
        "description": {
          "text": "Pakistani restaurant dishing up comfort food including vegetarian, vegan, and halal options.
          Offerings include chicken tikka masala, naan, and paratha. There's also a salad bar, and dessert is
          available.\nOpen for breakfast, lunch, and dinner, the venue has a casual atmosphere and outdoor rooftop
          seating. People mention the ambiance and say the service is prompt.\nCustomers typically spend $10–20.",
          "languageCode": "en-US"
        },
        "references": {
          "reviews": [
            {
              "name": "places/ChIJQ8nPjFW3j4ARcAaUg5pF-Ts/reviews/ChZDSUhNMG9nS0VJQ0FnSUN4aUtDbVJREAE",
              "relativePublishTimeDescription": "12 months ago",
              "rating": 5,
              "text": {
                "text": "Insanely good Pakistani food with the perfect ambiance! This food never disappoints AND THEY ARE OPEN TILL MIDNIGHT!!",
                "languageCode": "en"
              },
              "originalText": {
                "text": "Insanely good Pakistani food with the perfect ambiance! This food never disappoints AND THEY ARE OPEN TILL MIDNIGHT!!",
                "languageCode": "en"
              },
              "authorAttribution": {
                "displayName": "John Smith",
                "uri": "https://www.google.com/maps/contrib/11685942231/reviews",
                "photoUri": "https://lh3.googleusercontent.com/a-/ALV-UjWbImVTop_1d-cc-rp-mo"
              },
              "publishTime": "2023-05-09T07:24:36Z"
              "flagContentUri": "https://www.google.com/local/review/rap/report?postId=ChRAB&d=17924085&t=1",
              "googleMapsUri": "https://www.google.com/maps/reviews/data=!4m7558ccfc943:0x3bf9459a83940670"
            },
            . . .
          ]
        },
        "overviewFlagContentUri": "https://www.google.com/local/review/rap/report?postId=CiUweDgwOGZiNzU1O085&t=12",
        "descriptionFlagContentUri": "https://www.google.com/local/review/rap/report?postId=CiUweDgwOG&t=12"
      }
    },
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Indian restaurant offering comfort food including vegetarian and vegan options.",
          "languageCode": "en-US"
        },
        . . .
}

Exemple de demande de résumé de présentation

Cet exemple de recherche textuelle ne renvoie que le résumé overview des restaurants végétariens épicés à Mountain View, en Californie:

curl -X  POST -d '{
  "textQuery": "Spicy Vegetarian Food",
  "location_bias":{
    "rectangle":{
      "low": {
        "latitude": 37.415,
       "longitude": -122.091},
    "high":{
      "latitude": 37.429,
      "longitude": -122.065}
    }
  },
  "maxResultCount": 5
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.generativeSummary.overview" \
https://places.googleapis.com/v1/places:searchText

La réponse contient le champ generativeSummary.overview, qui inclut le overview.text et le overview.languageCode:

{
  "places": [
    {
      "id": "ChIJQ8nPjFW3j4ARcAaUg5pF-Ts",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual restaurant serving halal Pakistani and Indian cuisine, plus a selection of vegetarian items.",
          "languageCode": "en-US"
        }
      }
    },
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual eatery offering vegetarian & non-vegetarian Indian fare, plus breads & desserts.",
          "languageCode": "en-US"
        }
      }
    },
  . . .
}

Demander un résumé d'une zone générative

Les récapitulatifs de zone sont des récapitulatifs génératifs créés par le LLM pour la zone proche d'un lieu. Les résumés de zone peuvent être importants pour les utilisateurs qui prennent une décision concernant un lieu.

Par exemple, vous souhaitez réserver un hôtel dans une nouvelle ville. Vous trouvez un hôtel qui répond à vos exigences, mais vous aimeriez aussi en savoir plus sur les environs. Plutôt que de consulter une carte de la zone environnante, puis d'examiner chaque lieu sur la carte, vous pouvez générer un récapitulatif de la zone pour l'hôtel.

Les récapitulatifs de zone sont compatibles avec Place Details (New), Text Search (New) et Nearby Search (New).

Pour inclure le récapitulatif de la zone dans la réponse, incluez les éléments suivants dans le masque de champ de la requête:

  • areaSummary (Détails sur un lieu)
  • places.areaSummary (Text Search et Nearby Search)

Le champ areaSummary d'un lieu dans la réponse contient le champ flagContentUri que vous pouvez utiliser pour signaler un contenu inapproprié afin que Google puisse le supprimer. Il contient également un tableau de quatre contentBlocks au maximum. Le sujet de chaque bloc dépend du type d'établissement:

  • Pour une borne de recharge de véhicules électriques, définie comme un lieu de type electric_vehicle_charging_station, les blocs de sujets incluent: "overview", "coffee", "restaurant" et "store".

  • Pour un lieu dont le type est défini par la catégorie Hébergement et les types de lieux spécifiques geocode et premise, les blocs de sujets incluent: "overview", "activity", "restaurant" et "store".

Exemple de requête pour obtenir un résumé de zone d'une borne de recharge de VE

Cet exemple de requête Place Details renvoie le résumé de la zone pour une borne de recharge de VE spécifique à Mountain View, identifiée par l'ID de lieu ChIJC5b6QKiwj4ARgn2EwlnJnWU:

curl -X GET -H 'Content-Type: application/json' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "X-Goog-FieldMask: id,displayName,areaSummary" \
  https://places.googleapis.com/v1/places/ChIJC5b6QKiwj4ARgn2EwlnJnWU

La réponse contient le champ areaSummary, y compris le tableau contentBlocks:

  • Le champ topic spécifie le type de bloc de contenu. Étant donné que l'établissement dans cet exemple est une borne de recharge de VE, les quatre blocs de contenu sont "overview", "coffee", "restaurant" et "store".

  • Le champ content inclut le résumé de ce sujet, y compris le code de langue.

  • Le tableau references spécifie les noms de ressources de lieu, au format places/PLACE_ID, utilisés pour fournir du contenu pour le bloc de contenu.

{
  "id": "ChIJC5b6QKiwj4ARgn2EwlnJnWU",
  "displayName": {
    "text": "EVgo Charging Station",
    "languageCode": "en"
  },
  "areaSummary": {
    "contentBlocks": [
      {
        "topic": "overview",
        "content": {
          "text": "Within a 4-minute walk, there are several dining and shopping options from this charging station, including Starbucks and Los Altos Taqueria.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJ-f-lEaiwj4ARB1IwfdLFfRY",
            "places/ChIJhzHBsAe6j4ARvq9oi8u-bqQ"
          ]
        }
      },
      {
        "topic": "coffee",
        "content": {
          "text": "Starbucks offers Wi-Fi, light bites, and its signature roasts in a cozy space.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJ-f-lEaiwj4ARB1IwfdLFfRY"
          ]
        }
      },
      {
        "topic": "restaurant",
        "content": {
          "text": "Los Altos Taqueria serves classic Mexican dishes in a kid-friendly venue.\nHyderabad Dum Biryani specializes in vegetarian and vegan Indian fare, including lunch and dinner options.\nSushi Jin is a popular spot for sushi and other Japanese dishes, featuring a relaxed atmosphere.\nSuper tacos el conrro is a kid-friendly spot for Mexican fare.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJhzHBsAe6j4ARvq9oi8u-bqQ",
            "places/ChIJETHw0F-7j4AR85V_I6OobCI",
            "places/ChIJ-9pg_Qmxj4AR4deSLfZINW0",
            "places/ChIJvcqEhTyxj4AR4ZdQevNxGZk"
          ]
        }
      },
      {
        "topic": "store",
        "content": {
          "text": "Safeway provides a range of groceries, along with a deli and a bakery.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJF7_iDaiwj4ARzdC4NlGzJFI"
          ]
        }
      }
    ],
    "flagContentUri": "https://www.google.com/local/review/rap/report?postId=IhkpuV1UwBQ&d=17924085&t=12"
  }
}

Exemple de requête pour un récapitulatif de zone pour un hôtel

Cet exemple de requête de recherche textuelle demande des hôtels à Mountain View, en Californie:

curl -X  POST -d '{
  "textQuery": "Hotels",
  "location_bias":{
    "rectangle":{
      "low": {
        "latitude": 37.415,
       "longitude": -122.091},
    "high":{
      "latitude": 37.429,
      "longitude": -122.065}
    }
  },
  "maxResultCount": 5
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.areaSummary" \
https://places.googleapis.com/v1/places:searchText

La réponse contient le champ areaSummary, y compris le tableau contentBlocks. La réponse pour les lieux de type hôtel contient des blocs de contenu pour les sujets "overview", "activity", "restaurant" et "store":

{
  "places": [
    {
      "id": "ChIJ81X7bC63j4ARNJTuqMFBq-4",
      "displayName": {
        "text": "Shashi Hotel Mountain View, an Urban Resort",
        "languageCode": "en"
      },
      "areaSummary": {
        "contentBlocks": [
          {
            "topic": "overview",
            "content": {
              "text": "This area offers several attractions, including Cinemark Century Mountain View 16 and Computer History Museum. Charleston Park provides picnic spots and the Pear Theatre hosts performances.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJOYvCo1W3j4AR1LAifgk13rs",
                "places/ChIJm7NJkla3j4AR8vR-HWRxgOo",
                "places/ChIJo4za6vi5j4ARMua093RgGGA",
                "places/ChIJ4V-yslC3j4ARE6I2cpvyOeU"
              ]
            }
          },
          {
            "topic": "activity",
            "content": {
              "text": "Cinemark Century Mountain View 16 offers XD and RealD 3D screens, plus comfortable seating and a snack bar.\nComputer History Museum showcases the evolution of technology with interactive exhibits.\nRyptic Room Escape Mountain View presents themed rooms where teams solve puzzles to escape.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJOYvCo1W3j4AR1LAifgk13rs",
                "places/ChIJm7NJkla3j4AR8vR-HWRxgOo",
                "places/ChIJ1_ZkCKqwj4ARPaLA4yiEtdI"
              ]
            }
          },
          {
            "topic": "restaurant",
            "content": {
              "text": "Cucina Venti Restaurant prepares Italian cuisine in a rustic setting with outdoor seating.\nRoger Bar and Restaurant provides cocktails on tap, along with an indoor-outdoor bar and dining area.\nBroma Restaurant serves Spanish-inspired tapas and shareable plates in a trendy atmosphere.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJC_3cdla3j4ARMgf4Pw8Irek",
                "places/ChIJh1Y1MA23j4AREJz6Kxl75Uo",
                "places/ChIJLRvDZtu3j4ARgoNrKZnNw8g"
              ]
            }
          },
          {
            "topic": "store",
            "content": {
              "text": "NASA Gear Store and Food Mart offer a variety of gifts and convenience store items.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJh64-r0O3j4ARy1P41IH2j3k",
                "places/ChIJ5ZJtB8u3j4ARR0gohzD8-ns"
              ]
            }
          }
        ],
        "flagContentUri": "https://www.google.com/local/review/rap/report?postId=GQAAAA085&t=12"
      }
    },
    ...
  ]
}

Demander des résultats de recherche contextuelle

La réponse à une requête Text Search (New) contient un tableau de lieux correspondant aux critères de la chaîne de recherche saisie. Vous pouvez désormais demander des données de recherche contextuelle dans la réponse en fonction de la requête d'entrée envoyée à l'API.

Pour prendre en charge les résumés contextuels, la réponse de Recherche textuelle (nouvelle) contient un nouveau tableau nommé contextualContents au même niveau que le tableau places dans la réponse:

{
  "places": [],
  "contextualContents":[]
}

Chaque élément du tableau contextualContents, de type ContextualContent, se trouve à l'emplacement de tableau correspondant à l'emplacement dans le tableau places. Autrement dit, l'élément situé à contextualContents[0] correspond au lieu situé à places[0].

Chaque élément du tableau contient les champs de tableau suivants:

  • contextualContents.reviews: tableau comportant jusqu'à trois avis.
  • contextualContents.photos: tableau pouvant contenir jusqu'à cinq photos.
  • contextualContents.justifications: tableau de justifications pour le lieu, y compris:

    • reviewJustification: met en avant une section d'un avis utilisateur qui pourrait intéresser un utilisateur final.
    • businessAvailabilityAttributesJustification : inclut les attributs d'une entreprise qui pourraient intéresser un utilisateur final.

Pour inclure les résultats de recherche contextuelle dans la réponse, incluez contextualContents dans le masque de champ de la requête de recherche textuelle (nouvelle) :

curl -X  POST  -d '{
  "textQuery": "Spicy vegetarian restaurant in Mountain View, CA",
  "openNow": true,
  "maxResultCount": 3
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,contextualContents" \
https://places.googleapis.com/v1/places:searchText

La réponse contient le tableau contextualContents pour chaque lieu de la réponse:

{
  "places": [
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      }
    },
    . . .
  ],
  "contextualContents": [
    {
      "reviews": [
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChdDSUhNMG9nS0VJQ0FnSURSeEtMdHZ3RRAB",
          "relativePublishTimeDescription": "a year ago",
          "rating": 5,
          "text": {
            "text": "Very tasty! Rich spices and textures. We really appreciated
            all of the vegan options. We shared samosas (great sauce!) , tofu 65
            (spicy!!), gobi manchurian (less flavorful but a nice sweet offset to
            the tofu 65) and veg pakoras (very crunchy and awesome flavor). We
            enjoyed all of it, with the pakoras being the table's favorite.",
            "languageCode": "en"
          },
          "originalText": {
            "text": "Very tasty! Rich spices and textures. We really appreciated
            all of the vegan options. We shared samosas (great sauce!) , tofu 65
            (spicy!!), gobi manchurian (less flavorful but a nice sweet offset
            to the tofu 65) and veg pakoras (very crunchy and awesome flavor).
            We enjoyed all of it, with the pakoras being the table's favorite.",
            "languageCode": "en"
          },
          "authorAttribution": {
            "displayName": "Jane Doe",
            "uri": "https://www.google.com/maps/contrib/113193/reviews",
            "photoUri": "https://lh3.googleusercontent.com/a-/ALVVXe4iwrp-mo-br100"
          },
          "publishTime": "2023-04-18T02:48:02Z",
          "flagContentUri": "https://www.google.com/local/review/rap/report?postIWkF24085&t=1",
          "googleMapsUri": "https://www.google.com/maps/reviews/data=!4m6!1sChZDSUhb1e9679abc80b8db"
        },
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChdDSUhzlhTG53RRAB",
          "relativePublishTimeDescription": "10 months ago",
          "rating": 5,
          "text": {
            "text": "This is a nice little spot to eat at. I'm a big fan of
            curries, and they are spot on when it comes to flavor and spice. I highly recommend this place.",
            "languageCode": "en"
          },
          "originalText": {
            "text": "This is a nice little spot to eat at. I'm a big fan of curries,
            and they are spot on when it comes to flavor and spice. I highly recommend this place.",
            "languageCode": "en"
          },
          "authorAttribution": {
            "displayName": "Bob Jones",
            "uri": "https://www.google.com/maps/contrib/11034435/reviews",
            "photoUri": "https://lh3.googleusercontent.com/a/ACg8ocIAGguhz-EccsS9p-mo-ba4-br100"
          },
          "publishTime": "2023-07-03T16:51:49Z",
          "flagContentUri": "https://www.google.com/local/review/rap/report?postIWkF3EAE&d=17924085&t=1",
          "googleMapsUri": "https://www.google.com/maps/reviews/data=!4m6!14m5!1m4!2m3!1sChZDSUhb1e9679abc80b8db"
        },
        . . .
      ],
      "photos": [
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/photos/Vt2DAKajwJfgC_I-baPKjSeSw-JAXY-tCZOBAe7pBxxIS0Vo1w23sCO9o5RzoxJ",
          "widthPx": 1920,
          "heightPx": 1080,
          "authorAttributions": [
            {
              "displayName": "A Google User",
              "uri": "//maps.google.com/maps/contrib/113010465422",
              "photoUri": "//lh3.googleusercontent.com/a-/ALV-UjV_8hbrtgyc0-p-k-no-mo"
            }
          ],
          "flagContentUri": "https://www.google.com/local/review/rap/report?postId=ChZDSWkF3EAE&d=15&t=1",
          "googleMapsUri": "https://www.google.com/maps/reviews/data=!4m6!14m5!1m4!2m3!1sChZDSUhNbc80b8db"
        },
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/photos/AUGGfZkJ4MMlLikE2EyP-b13GeFZ9Nwhk24vK212hZo",
          "widthPx": 960,
          "heightPx": 720,
          "authorAttributions": [
            {
              "displayName": "Toast"
            }
          ],
          "flagContentUri": "https://www.google.com/local/review/rap/report?postId4085&t=1",
          "googleMapsUri": "https://www.google.com/maps/reviews/data=!4m6!14m5!1m4!2m3!b1e9679abc80b8db"
        },
        . . .
      ],
      "justifications": [
        {
          "reviewJustification": {
            "highlightedText": {
              "text": "\"Not too spicy or oily.\"",
              "highlightedTextRanges": [
                {
                  "startIndex": 9,
                  "endIndex": 14
                }
              ]
            },
            "review": {
              "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChZDSUhNMG9nS0VJQ0FnSUR4djR2Z1B3EAE",
              "relativePublishTimeDescription": "10 months ago",
              "rating": 5,
              "text": {
                "text": "Not too spicy or oily. We have the mutton dum biryanis
                and tandoori fish. Very flavorful. The food was served promptly.
                Clean environment. A little small more like a hole in the wall.
                We'd come back for sure.",
                "languageCode": "en"
              },
              "originalText": {
                "text": "Not too spicy or oily. We have the mutton dum biryanis
                and tandoori fish. Very flavorful. The food was served promptly.
                Clean environment. A little small more like a hole in the wall.
                We'd come back for sure.",
                "languageCode": "en"
              },
              "authorAttribution": {
                "displayName": "Stan Davis",
                "uri": "https://www.google.com/maps/contrib/112959/reviews",
                "photoUri": "https://lh3.googleuser-cc-rp-mo"
              },
              "publishTime": "2023-06-18T06:12:41Z",
              "flagContentUri": "https://www.google.com/local/review/rap/report?postt=1",
              "googleMapsUri": "https://www.google.com/maps/reviews/75a95dd8ebd:0xb1e9679abc80b8db"
            }
          }
        },
        {
          "businessAvailabilityAttributesJustification": {
            "dineIn": true
          }
        }
      ]
    },
    . . .
  ]
}

Conseils d'implémentation pour les cas d'utilisation dans le secteur automobile

Pour la sécurité des conducteurs, Google recommande d'afficher les résumés d'IA générative en mode stationnement pour les expériences automobiles. Si vous affichez des résumés en mode conduite, les informations à l'écran doivent être simples, claires et concises pour que le conducteur puisse rapidement se concentrer sur la route.

  • Trois lignes maximum
  • 120 caractères ou 24 mots maximum
  • Taille minimale de l'avant de 24 dp

En particulier dans le contexte automobile, il est de la responsabilité du développeur de générer des résumés d'IA générative de manière sécurisée et conforme à toutes les lois et réglementations locales.

Attributions

Lorsque vous affichez des avis, des photos et des résumés d'IA générative dans votre application, y compris des résumés de lieux et de zones, vous devez vous assurer d'afficher également les attributions requises.

Afficher les attributions pour les résumés génératifs

Lorsque vous affichez des récapitulatifs d'IA générative dans votre application, y compris des récapitulatifs de lieux et de zones, vous devez également afficher les attributions nécessaires. Cette section explique comment afficher les attributions en fonction de la façon dont vous affichez les récapitulatifs de l'IA générative dans votre application.

Dans tous les cas, l'attribution doit utiliser la casse de la première lettre. L'attribution et le logo Google doivent respecter toutes les normes de couleur, de style et de police. Pour en savoir plus sur ces normes, consultez les Règles de l'API Places (nouvelle version).

Résumé de l'IA générative affiché dans le contexte d'autres données Google

Dans ce cas, l'attribution de l'IA générative peut être affichée seule au-dessus ou en dessous du résumé, en s'appuyant sur l'attribution du contenu par Google ailleurs.

Pour l'attribution, utilisez le texte "Résumé par IA", comme illustré dans cette image:

Pour l'attribution, utilisez le texte "Résumé par IA".

Résumé généré par l'IA générative affiché seul

Lorsqu'un résumé d'IA générative s'affiche indépendamment de tout autre contenu de Google Maps, il doit inclure à la fois l'attribution à l'IA générative et l'attribution à Google, séparées par un interpunct. Pour l'attribution, utilisez le texte "Résumé par IA" et le logo Google, comme illustré dans cette image:

Pour un résumé affiché de manière isolée, incluez l'attribution de l'IA générative et l'attribution de Google séparées par un interpunct.

Résumé par IA générative répété dans une liste

Lorsque vous répétez une présentation récapitulative des lieux générée par IA dans une liste de lieux, vérifiez que:

  • Le contenu de la liste est attribué à Google
  • Les résumés affichés sont générés par IA
  • Le contenu est disponible sur Google

L'attribution doit être affichée au-dessus ou en dessous de la liste sur une seule ligne. L'attribution à l'IA est alignée à gauche, et l'attribution à Google est alignée à droite:

Pour une liste, affichez l'attribution au-dessus ou en dessous de la liste sur une seule ligne.

Si des résumés de description plus longs générés par IA sont utilisés dans une liste, chaque résumé doit être attribué à l'IA ("Résumé par IA" avec l'icône/le bouton d'informations).

Afficher des informations sur un résumé généré par IA dans une boîte de dialogue

En plus d'un résumé d'IA générative, vous devez mettre à la disposition des utilisateurs finaux une boîte de dialogue qui affiche des informations sur le résumé et un lien permettant de signaler les problèmes à l'aide de l'identifiant unique du résumé contenu dans le champ flagContentUri. Lorsque vous utilisez un résumé de description généré par IA, vous devez inclure des informations sur les sources du résumé, appelées références.

Activez l'accès à cette boîte de dialogue en incluant une icône d'informations (en tant qu'affordance d'interactivité) en association avec l'attribution par IA (comme illustré dans les exemples ci-dessus) et en faisant en sorte que la zone et l'icône d'attribution par IA répondent à une pression/un clic.

Pour les résumés de lieux génératifs, affichez les éléments suivants:

À propos Les résumés de lieux générés par IA sont basés sur les avis Google et d'autres données.
Signaler un problème Pour signaler à Google un problème concernant le contenu d'un résumé, utilisez le lien figurant dans le champ flagContentUri.
Références Examens des sources

Exemple :

Afficher des informations sur un résumé généré par IA dans une boîte de dialogue

Pour les récapitulatifs des zones génératives, affichez les éléments suivants:

À propos Les résumés de zone générés par IA sont basés sur les avis Google et les données locales.
Signaler un problème Pour signaler à Google un problème concernant le contenu d'un résumé, utilisez le lien figurant dans le champ flagContentUri.

Affichage de l'attribution du résumé de l'emplacement.