Démarrage rapide

L'API Cloud Inference facilite l'intégration des technologies de recherche et d'analyse de Google pour les données chronologiques dans vos applications. L'API Cloud Inference vous permet :

  • Traiter des ensembles de données de séries temporelles :
    • Ingestion à partir de fichiers JSON vers des formats internes efficaces en termes de requêtes
    • Supprimer du système les ensembles de données déjà envoyés
    • Répertorier les ensembles de données envoyés par votre projet qui sont actifs dans le système
  • Exécutez des requêtes d'inférence sur des ensembles de données chargés :
    • Comment des valeurs de différents types sont-elles corrélées ? Par exemple : pour un ensemble de données d'articles de presse avec libellés, quels sont les libellés corrélés avec des articles sur les vacances ?
    • Comment la fréquence des événements varie-t-elle dans le temps ? Par exemple: quels jours ont un nombre inhabituellement élevé d'événements associés à des sujets spécifiques ?
    • Quelle est la probabilité de base pour un événement dans le système ? Par exemple : combien de fois les images des différents sports apparaissent-elles dans les articles ?

Consultez la section Qu'est-ce que l'API Cloud Inference ? pour plus d'informations.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  4. Activez l'API Cloud Inference

    Activer l'API

  5. Créez un compte de service :

    1. Dans Cloud Console, accédez à la page Créer un compte de service.

      Accéder à la page "Créer un compte de service"
    2. Sélectionnez votre projet.
    3. Dans le champ Nom du compte de service, saisissez un nom. Cloud Console remplit le champ ID du compte de service en fonction de ce nom.

      Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

    4. Cliquez sur Créer et continuer.
    5. Pour accorder l'accès à votre projet, attribuez le ou les rôles suivants à votre compte de service : Projet > Propriétaire.

      Dans la liste Sélectinoner un rôle, sélectionnez un rôle.

      Pour ajouter des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.

    6. Cliquez sur Continuer.
    7. Cliquez sur OK pour terminer la création du compte de service.

      Ne fermez pas la fenêtre de votre navigateur. Vous en aurez besoin lors de la tâche suivante.

  6. Créez une clé de compte de service :

    1. Dans Cloud Console, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
    2. Cliquez sur Keys (Clés).
    3. Cliquez sur Ajouter une clé, puis sur Créer une clé.
    4. Cliquez sur Create (Créer). Un fichier de clé JSON est téléchargé sur votre ordinateur.
    5. Cliquez sur Close (Fermer).
  7. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS pour qu'elle pointe vers le chemin du fichier JSON contenant la clé de votre compte de service. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  8. Installez et initialisez Google Cloud CLI.
  9. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  10. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  11. Activez l'API Cloud Inference

    Activer l'API

  12. Créez un compte de service :

    1. Dans Cloud Console, accédez à la page Créer un compte de service.

      Accéder à la page "Créer un compte de service"
    2. Sélectionnez votre projet.
    3. Dans le champ Nom du compte de service, saisissez un nom. Cloud Console remplit le champ ID du compte de service en fonction de ce nom.

      Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

    4. Cliquez sur Créer et continuer.
    5. Pour accorder l'accès à votre projet, attribuez le ou les rôles suivants à votre compte de service : Projet > Propriétaire.

      Dans la liste Sélectinoner un rôle, sélectionnez un rôle.

      Pour ajouter des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.

    6. Cliquez sur Continuer.
    7. Cliquez sur OK pour terminer la création du compte de service.

      Ne fermez pas la fenêtre de votre navigateur. Vous en aurez besoin lors de la tâche suivante.

  13. Créez une clé de compte de service :

    1. Dans Cloud Console, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
    2. Cliquez sur Keys (Clés).
    3. Cliquez sur Ajouter une clé, puis sur Créer une clé.
    4. Cliquez sur Create (Créer). Un fichier de clé JSON est téléchargé sur votre ordinateur.
    5. Cliquez sur Close (Fermer).
  14. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS pour qu'elle pointe vers le chemin du fichier JSON contenant la clé de votre compte de service. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  15. Installez et initialisez Google Cloud CLI.

Importer un ensemble de données

Vous allez créer un ensemble de données d'API Cloud Inference à l'aide de la méthode REST createdataset.

  1. Créez un fichier de requête JSON contenant le texte ci-dessous, puis enregistrez-le sous la forme d'un fichier texte brut nommé create-gdelt-dataset.json :

    {
      "name":"gdelt_2018_04_data",
      "data_names": [
        "PageURL",
        "PageDomain",
        "PageCountry",
        "PageLanguage",
        "PageTextTheme",
        "PageTextGeo",
        "ImageURL",
        "ImagePopularityRawScore",
        "ImagePopularity",
        "ImageSafeSearch",
        "ImageLabel",
        "ImageWebEntity",
        "ImageWebEntityBestGuessLabel",
        "ImageGeoLandmark",
        "ImageFaceToneHas"
      ],
      "data_sources": [
        { "uri":"gs://inference-gdelt-demo/inference-gdelt-demo.201804.json" },
      ]
    }
    

    Cet extrait de code JSON indique que nous souhaitons créer un ensemble de données composé d'articles de presse annotés GDELT sur lesquels nous aimerions exécuter les requêtes de l'API Cloud Inference (merci à Kalev Leetaru de GDELT pour et nous les mettons à votre disposition. L'ensemble de données est accessible publiquement, vous n'aurez donc pas besoin d'identifiants d'authentification pour y accéder. Notez cependant que vous aurez besoin d'identifiants d'authentification pour utiliser l'API.

  2. Vérifiez que vous disposez d'un jeton d'autorisation :

    gcloud auth application-default print-access-token
      
  3. Utilisez curl pour effectuer une requête createdataset, en transmettant le jeton d'accès et le nom de fichier de la requête JSON que vous avez configurée à l'étape 1:

    curl -s -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      https://infer.googleapis.com/v1/projects/PROJECT_NUMBER/datasets \
      -d @create-gdelt-dataset.json
      

    Notez que pour indiquer un nom de fichier dans la commande curl, vous devez utiliser l'option -d (pour "data") et faire précéder le nom de fichier du symbole @. Ce fichier doit se trouver dans le même répertoire que celui depuis lequel vous exécutez la commande curl.

    Un résultat semblable aux lignes suivantes doit s'afficher :

    {
      "name": "gdelt_2018_04_data",
      "state": "STATE_PENDING"
    }
    

Obtenir l'état des ensembles de données importés

Vous pouvez obtenir l'état de tous les ensembles de données que vous avez envoyés pour traitement à l'API Cloud Inference depuis votre projet client à l'aide de la méthode REST ListDataSets.

  1. Récupérez un jeton d'accès comme vous l'avez fait à l'étape précédente pour la création de l'ensemble de données.

  2. Utilisez curl pour effectuer une requête listdatasets, en indiquant le jeton d'accès:

    curl -s -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      https://infer.googleapis.com/v1/projects/PROJECT_NUMBER/datasets
      

Interroger un ensemble de données chargé

  1. Créez un fichier de requête JSON contenant le texte ci-dessous, puis enregistrez-le sous la forme d'un fichier texte brut nommé query-gdelt-dataset.json :

    {
      "name": "gdelt_2018_04_data",
      "queries": [{
        "query": {
          "type": "TYPE_TERM",
          "term": {
          "name": "ImageWebEntity",
          "value": "Vacation"
          }
        },
        "distribution_configs": {
          "bgprob_exp": 0.7,
          "data_name": "ImageLabel",
          "max_result_entries": 5,
        }
      }]
    }

    Cet extrait de code JSON indique que nous souhaitons interroger l'ensemble de données 'gdelt_2018_04_data' que nous avons précédemment envoyé à l'API Cloud Inference avec une requête createdataset signalée comme STATE_LOADED. La requête en elle-même indique que nous souhaitons agréger les libellés d'images (ImageLabels) de tous les articles contenant "Vacation" en tant qu'entité, et que les cinq libellés dont les notes sont les plus élevées soient renvoyés dans la réponse.

  2. Récupérez un jeton d'accès comme vous l'avez fait à l'étape précédente pour la création de l'ensemble de données.

  3. Utilisez curl pour effectuer une requête query, en indiquant le jeton d'accès et le nom de fichier de la requête JSON que vous avez configurée à l'étape 1:

    curl -s -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      https://infer.googleapis.com/v1/projects/PROJECT_NUMBER/datasets/gdelt_2018_04_data:query \
      -d @query-gdelt-dataset.json
      

    Notez que pour indiquer un nom de fichier dans la commande curl, vous devez utiliser l'option -d (pour "data") et faire précéder le nom de fichier du symbole @. Ce fichier doit se trouver dans le même répertoire que celui depuis lequel vous exécutez la commande curl.

    Un résultat semblable aux lignes suivantes doit s'afficher :

    {
      "results": [
        {
          "distributions": [
            {
              "dataName": "ImageLabel",
              "matchedGroupCount": "39124",
              "totalGroupCount": "7616785",
              "entries": [
                {
                  "value": "ImageLabel=vacation",
                  "score": 31.515648,
                  "matchedGroupCount": "37806",
                  "totalGroupCount": "52331"
                },
                {
                  "value": "ImageLabel=beach",
                  "score": 15.222198,
                  "matchedGroupCount": "6825",
                  "totalGroupCount": "12527"
                },
                {
                  "value": "ImageLabel=summer",
                  "score": 13.984301,
                  "matchedGroupCount": "6704",
                  "totalGroupCount": "13780"
                },
                {
                  "value": "ImageLabel=travel",
                  "score": 13.344194,
                  "matchedGroupCount": "6837",
                  "totalGroupCount": "15158"
                },
                {
                  "value": "ImageLabel=sun_tanning",
                  "score": 12.208676,
                  "matchedGroupCount": "2048",
                  "totalGroupCount": "2999"
                }
              ]
            }
          ]
        }
      ]
    }
      

    La réponse renvoyée est une distribution d'événements ImageLabel notés par corrélation avec ImageWebEntity=Vacation. Les événements dont la note est élevée sont positivement corrélés avec les articles sur le thème des vacances.