Récupération de données basée sur l'IA : une solution intelligente ou un piège à coûts caché ?

DEV - 05/02
Imaginez ce scénario Vous créez une application Web dans laquelle vous souhaitez fournir...

Imaginez ce scénario

Vous créez une application Web dans laquelle vous souhaitez fournir des informations aux visiteurs de votre site Web. Vous ne disposez pas d'informations à ce sujet, vous devez donc vous appuyer sur d'autres sources sur Internet. Vous souhaitez que les informations soient aussi cohérentes et précises que possible. Vous avez regardé autour de vous, mais vous n'avez pas réussi à trouver une API externe fournissant les données dont vous avez besoin. Pourtant, il existe plus qu’assez de sources disponibles en ligne, n’est-ce pas ? Vous avez juste besoin de quelque chose pour l’obtenir et le façonner dans un format que vous pouvez consommer.

Vous pouvez simplement utiliser/créer un grattoir de site Web comme tout le monde le fait. Il s’agit d’une méthode populaire pour obtenir des données sur le Web et qui a fait ses preuves. Mais ils nécessitent de savoir où obtenir les données et peuvent être coûteux à maintenir.

Alors qu’en est-il de l’IA ? De la manière dont fonctionne l'IA, nous n'aurons pas à lui dire où obtenir les données - elle peut simplement les « obtenir » pour vous, n'est-ce pas ? Nous n'aurons pas à nous soucier de la structure des données ; nous pouvons simplement lui demander de le fournir dans notre format préféré.

Découvrons-le ! Dans cet article, je vais vous faire voyager avec moi et essayer différentes approches pour y parvenir. Avec chaque approche, nous évaluerons comment cela a fonctionné pour nous. Pour ce projet favori, disons que nous souhaitons créer une application Web où les utilisateurs peuvent rechercher une remontée mécanique dans une station de ski et obtenir des détails sur cette remontée mécanique, comme la marque, la capacité, etc.

Alors, comment cela fonctionnerait-il ?

Définissons deux étapes majeures :

  1. Utilisez l’IA pour trouver les données pour nous sur le Web.
  2. Utilisez l'IA pour transformer les données dans un format approprié que notre application peut consommer.

Exigences et critères

  • Qualité des données : les données doivent être cohérentes et exactes.
  • Coût : La solution doit être rentable ; vous êtes prêt à payer pour des données de qualité et fiables, mais vous ne voulez pas payer plus que ce dont vous avez besoin.
  • Robustesse : la solution doit être robuste : vous ne voulez pas avoir à réparer quelque chose à chaque fois qu'une source de données change ou est supprimée.
  • Praticité : Dans quelle mesure cette solution est-elle pratique ?

Limites et clauses de non-responsabilité

  • Il existe de nombreux modèles d’IA (et d’autres viendront), chacun avec ses forces et ses faiblesses. Par souci de brièveté, nous utiliserons le modèle ChatGPT AI dans cet article. Les résultats peuvent varier avec d’autres modèles et vous êtes libre de les essayer vous-même.
  • La collecte d'informations provenant d'autres sites Web pour les utiliser dans votre application Web peut présenter des défis commerciaux et/ou éthiques. Si vous envisagez de le faire à des fins commerciales, assurez-vous qu'il est légal d'utiliser les informations que vous avez recueillies.
  • Les morceaux de code fournis ici sont réduits au minimum par souci de concision.

Ce sera comme une petite aventure ! Nous allons essayer de résoudre le cas d'utilisation avec lequel nous avons commencé. Nous évaluerons chaque étape et verrons ce que nous pouvons faire de mieux. Le principal point à retenir ici est d'explorer les options : il n'y a pas de « bien » ou de « mal » dans cet article.

1. Utiliser l'IA pour trouver les données pour nous sur le Web

Demander à ChatGPT Chat

Commençons simplement. Nous voulons des données. Nous demanderons simplement à ChatGPT Chat d'obtenir les données pour nous ! Juste pour voir comment cela fonctionnerait.

Le ChatGPT Chat est une boîte de discussion où vous pouvez parler directement avec ChatGPT. Il fournit une réponse à toute requête que vous lui posez. C'est vraiment accessible et facile à utiliser ; vous n'avez même pas besoin d'un compte. Commencez simplement à taper. C'est un peu comme par magie : il peut obtenir tout ce dont nous avons besoin, et nous n'aurons pas à nous soucier de savoir où chercher, n'est-ce pas ? Nous devons simplement nous assurer que ChatGPT nous donne ce que nous voulons réellement.

Alors, à quoi cela ressemblerait-il en utilisant le chat ChatGPT ? Nous aurions une invite ressemblant à ceci :

Invite

Vous êtes un assistant utile. Vous nous fournirez des informations précises et concises sur les remontées mécaniques d'une station de ski, que nous fournirons à la fin de cette invite. Vous trouverez ces détails sur les remontées mécaniques : nom, type de remontée, fabricant, opérateur, capacité (personnes/heure), durée (minutes), occupation (personnes), construction (année), distance d'élévation_ascenseur (mètres), distance_ascenseur (mètres), station de ski, source_urls. Fournissez uniquement les données dans un objet JSON en utilisant les clés correspondantes exactes sans formatage markdown, où source_urls doit être un tableau d'URL. Téléski : Colomba à Val Cenis
Entrer en mode plein écran Quitter le mode plein écran

Le décomposer

Décomposons ce que fait l'invite :

  • Nous expliquons à ChatGPT comment il doit agir. Ceci est nécessaire pour que ChatGPT sache comment répondre au mieux à notre requête. Nous lui disons d'agir comme un assistant utile et ce que nous attendons de lui. C'est ce qu'on appelle « invite du système ».
  • Nous lui donnerons des détails spécifiques à rechercher. Cela est nécessaire pour que nous connaissions exactement les données que ChatGPT fournira, afin que nous puissions les consommer dans notre application.
  • Nous demandons à ChatGPT de fournir les données au format JSON. Rien d’autre ne nous intéresse. Cela économise des ressources et nous permet de consommer facilement les données.

Résultat

Si nous lançons l'appel, hop :

{ "name": "Colomba", "lift_type": "télésiège à grande vitesse débrayable 6 places", "fabricant": "Doppelmayr", "exploitant": "Station de ski de Val Cenis", "capacité": 2400, "durée": 3,83, "occupation": 6, "construction": 2010, "lift_elevation": 159, "lift_distance": 1051, "ski_resort": "Val Cenis – Lanslevillard/Lanslebourg/Termignon", "source_urls": [ "https://www.skidetails.com/ski-resort/val-cenis-lanslevillardlanslebourgtermignon/ski-lifts/l91126/" ] }
Entrer en mode plein écran Quitter le mode plein écran

Et nous avons nos données ! Wow, c'était étonnamment facile ! Évaluons cette étape.

Récapitulatif : ChatGPT Chat

  • Données : les données sont raisonnablement cohérentes car nous pouvons demander les propriétés souhaitées. Mais il est difficile de dire si ces informations sont exactes sans vérifier les données. Nous pouvons demander à ChatGPT Chat de fournir les URL sources pour faciliter cela. Il est possible qu'il hallucine certaines parties des données.
  • Coût : il existe un niveau gratuit, mais attendez-vous à engager des coûts pour améliorer la précision des données et à mesure que votre site Web se développe.
  • Robustesse :...
    [Courte citation de 8% de l'article original]
Loading...