Comment utiliser GPT pour la requête en langue naturelle

DEV - 04/09
En tant que développeurs, nous passons beaucoup de temps à concevoir des moyens pour les utilisateurs de fournir une entrée structurée: des formulaires, ...

En tant que développeurs, nous passons beaucoup de temps à concevoir des moyens pour les utilisateurs de fournir une entrée structurée: formulaires, listes déroutes, règles de validation, gestion des erreurs. Cela fonctionne, mais cela crée également la friction. Les utilisateurs ne pensent pas dans les schémas, ils pensent en langage clair.

C’est là que GPT entre en jeu. Au lieu de forcer les utilisateurs à des formats rigides, nous pouvons les laisser taper ce qu’ils veulent en langage naturel, puis l’analyser directement dans des données propres et structurées.

Dans cet article, vous apprendrez à utiliser GPT pour le traitement des données et permettant aux utilisateurs de fournir une entrée naturelle à une application. Jetons un coup d'œil à des cas d'utilisation intéressants.

Il s'avère que le GPT fait un assez bon travail de l'analyse de l'entrée du langage naturel dans les structures de données définies par un schéma. Nous pouvons l'utiliser pour transformer les manuels en un graphique JSON, qui peut ensuite être utilisé pour, par ex. présenter des instructions étape par étape ou visualiser les dépendances.

Exemple: Cuisinez!

Exemple: Cuisinez! Nous pouvons utiliser GPT pour transformer une recette en graphique, défini par une structure JSON. Il peut ensuite être utilisé pour, par exemple, présenter des instructions étape par étape ou visualiser les dépendances entre eux.

L'équipe à la hausse a trouvé une assez bonne recette de spaghetti disponible ici. Nous pouvons essayer de le transformer en JSON.

Tout d'abord, définissons un schéma JSON du JSON que nous aimerions obtenir de GPT:

Le schéma peut ressembler à ceci:

{"$ schema": "https://json-schema.org/draft/2020-12/schema", "$ id": "https://upsidelab.io/recipe.schema.json", "title": "Receice", "Description": "Ango-définition", "": "Object", "Properties": {gery "description": "The list of ingredients required to prepare the recipe", "type": "array", "items": { "$ref": "#Ingredient" } }, "steps": { "description": "The list of steps required to prepare the recipe", "type": "array", "items": { "$ref": "#Step" } } }, "$defs": { "Ingrédient": {"$ anchor": "ingrédient", "type": "objet", "propriétés": {"id": {"type": "nombre"}, "name": {"type": "String"}, "Quantity": {"type": "String"}}, "Step": {"$ anchor" "Propriétés": {"id": {"type": "numéro"}, "name": {"type": "String"}, "Description": {"type": "String"}, "DepenSonSteps": {"Type": "Array", "Itemles "type": "numéro"}}}}}}
Entrez le mode de sortie en mode plein écran

Puis une invite pour GPT. Nous le diviserons en trois parties:

  1. Définition du schéma
  2. La recette à analyser
  3. Un résumé de ce que nous attendons de son retour (juste le JSON, conforme au schéma)
Résumez la recette suivante dans un JSON conforme au schéma JSON suivant délimité par trois backticks \ `$ {ScheMadefinition} \` Utilisez la recette suivante, qui est délimité par trois backticks \ `$ {recette} \` répondre avec le JSON uniquement. Votre sortie doit être analysée par un analyseur JSON et doit être conforme au schéma JSON définitivement défini.
Entrez le mode de sortie en mode plein écran

Pour obtenir des résultats stables, vous devrez peut-être modifier l'invite. Nous avons remarqué que les domaines plus complexes GPT nécessiteront souvent une invite plus complexe qui spécifie plus explicitement nos exigences. Pour une recette de spaghetti, cela suffit cependant. Exemple de sortie:

{ "ingredients": [ { "id": 1, "name": "olive oil", "quantity": "1 tbsp" }, { "id": 2, "name": "smoked streaky bacon", "quantity": "4 rashers" }, { "id": 3, "name": "medium onions", "quantity": "2" }, { "id": 4, "name": "carottes", "quantité": "2"}, {"id": 5, "name": "Celeer Sticks", "Quantity": "2"}, {"id": 6, "name": "Garlic Cloves", "Quantity": "2"}, {"id": 7, "name": "idmemary": "Quantity": "2-"}, "id" idMary ":" Quantity ":" 2- "}," Id "idMary", "," Quantity ":" 2- "}, {id" IDSemary 8, "nom": "bœuf hachce", "quantité": "500g"}, {"id": 9, "name": "Plum Tomatoes", "Quantity": "2 x 400g Tins"}, {"id": 10, "nom": "Basil", "Quantity": "Small Pack", "Id": 11 " "1 c. chilli "," quantité ":" 1 (facultatif) "}, {" id ": 16," name ":" Red Wine "," Quantity ":" 125ml "}, {" id ": 17," name ":" Cherry Tomatoes "," Quantity ":" 6 "}, {" id ":" name ":" Parmean "," Quantity ":" 75g "} "id": 19, "nom": "spaghetti", "quantité": "400g"}, {"id": 20, "name": "pain crust", "Quantité": "pour servir (facultatif)"}], "étapes": [{"id": 1, "nom": "Préparez la sauce", "description": " huile. "," DepenSonSteps ": []," DepenSoningredients ": [1]}, {" id ": 2," nom ":" Cook bacon "," Description ":" Ajouter 4 Rashers bacon finement hachés et faire frire pendant 10 minutes. "Ajouter des légumes et des herbes", "Description": "Réduisez le feu et ajoutez les 2 oignons, 2 carottes, 2 bâtons de céleri, 2 gousses d'ail et les feuilles de 2 à 3 brins de romarin, [2]," De dépenser pendant 10 minutes. La viande hachée "," Description ":" Augmentez le feu à moyen-élevé, ajoutez 500 g de bœuf hachée et faites cuire en remuant pendant 3-4 minutes jusqu'à ce que la viande soit dorée partout. "," DepenSonSteps ": [3]," DepenSoningredient ": [8]}," id ": 5," nom ":" Ajouter des ingénients de bologne "," Description ":" Ajouter 2 Tines Finalement des ingénients ". De ¾ Small Pack Basil, 1 c. À thé. }, {"id": 6, "nom": "Limmer la sauce", "Description": "Apporter à ébullition, réduire à mijoter doucement et couvrir un couvercle. Cook pendant 1 h 15 minutes en remuant de temps en temps, jusqu'à ce que vous ayez une sauce riche et épaisse.", " et saison "," Description ":" Ajoutez le parmesan râpé 75 g, vérifiez l'assaisonnement et remuez. "," DepenSonSteps ": [6]," DepenSoningredients ": [18]}, {" id ": 8," nom ":" Cook Spaghetti "," Description ":" Lorsque le bologne est presque fini, CookSep 400G Spaghetti suivant les instructions "." [7], "De dépendonsoningredients": [19]}, {"id": 9, "nom": "servir", "Description": "Doudure le spaghetti et soit élogieux à la sauce bolognaise, soit servir la sauce sur le dessus. Servir avec plus de parmesan râpés, les feuilles de basilic restantes et le pain de croquerie, si vous aimez. 18, 20]}]}
Entrez le mode de sortie en mode plein écran

C'est quelque chose que nous pouvons facilement afficher sur un graphique:

Si nous ne sommes pas satisfaits du résultat, nous pouvons également utiliser une invite de suivi pour muter la structure. Si vous regardez la recette, l'étape 8 (Cook Spaghetti) est indépendante des étapes précédentes.

Demandez à GPT de changer cela:

L'étape 8 ne dépend d'aucune des étapes précédentes et peut être effectuée en parallèle. Changer le JSON résultant pour refléter ce {"ingrédi...
[Courte citation de 8% de l'article original]
Loading...