Fermer

janvier 9, 2024

Créez un chatbot formé sur vos propres données via l’API OpenAI —

Créez un chatbot formé sur vos propres données via l’API OpenAI —


Dans cet article, vous apprendrez comment former et tester votre propre chatbot à l’aide de l’API OpenAI, et comment le transformer en une application Web que vous pourrez partager avec le monde.

Table des matières
  1. Pourquoi créer un chatbot ?
  2. Premiers pas avec l’API OpenAI
  3. Préparation de vos données
  4. Former et tester un chatbot simple sur vos données
  5. Créer le chatbot
  6. Implémenter votre chatbot dans une application Web
  7. Conclusion

Pourquoi créer un chatbot ?

L’IA ayant révolutionné les technologies de l’information, nombreux sont ceux qui l’ont exploitée en utilisant des fournisseurs d’API tels qu’OpenAI pour intégrer l’IA dans leurs données.

Un moyen particulièrement efficace d’utiliser l’IA pour vos données est de créer votre propre chatbot.

Par exemple, imaginez que vous disposez d’un ensemble de données composé de milliers de rapports sur les résultats d’entreprises. Vous aimeriez l’explorer et l’analyser sans y consacrer des heures. Une bonne option serait de créer un chatbot pour répondre à toutes vos questions sur les documents, afin de vous éviter d’avoir à les parcourir manuellement.

Par exemple, vous souhaiterez peut-être demander « quelle entreprise a enregistré les meilleurs bénéfices au dernier trimestre ? » – une question à laquelle vous devrez généralement répondre en fouillant manuellement dans votre ensemble de données. En utilisant un chatbot formé sur vos données, vous pouvez obtenir la réponse à cette question en quelques secondes.

Premiers pas avec l’API OpenAI

Pour démarrer avec votre propre chatbot, vous devez d’abord accéder à l’API OpenAI. Pour obtenir votre clé API OpenAI, inscrivez-vous sur OpenAI site web. Cliquez ensuite sur l’icône de votre profil située dans le coin supérieur droit de la page d’accueil, sélectionnez Afficher les clés APIet cliquez sur Créer une nouvelle clé secrète pour générer une nouvelle clé API.

Préparation de vos données

Pour ce tutoriel, j’utiliserai la page Wikipédia pour les ordinateurs pour créer un chatbot simple capable de répondre à toute question générale sur les ordinateurs et leur historique.

Vous pouvez télécharger l’ensemble de données au format texte à partir du dépôt GitHub de cet article.

Créez un nouveau dossier dans lequel vous créerez votre chatbot. Créez ensuite un dossier nommé chatbot_docs dans le dossier de votre projet et collez le fichier de l’ensemble de données dans ce dossier. (Le nom du dossier n’a pas d’importance, mais pour ce tutoriel, il est beaucoup plus simple de le nommer chatbot_docs.)

Former et tester un chatbot simple sur vos données

Une fois que vous avez votre clé API et votre fichier d’ensemble de données, vous pouvez commencer avec le code réel.

Accédez au dossier de votre projet et créez un fichier Python vide dans votre nouveau dossier de projet.

Une fois que vous avez fait cela, téléchargez les bibliothèques que nous allons utiliser en exécutant ce qui suit dans votre terminal :

pip3 install langchain flask llama_index gradio openai pandas numpy glob datetime

Enfin, une fois que vous avez installé toutes les bibliothèques nécessaires, collez ce code Python de notre dépôt dans votre fichier Python.

Pour ce tutoriel, j’utilise le gpt-3.5-turbo Modèle OpenAI, car c’est le plus rapide et le plus rentable. Comme vous l’avez peut-être remarqué si vous avez regardé le code, j’ai réglé la température du chatbot à 0. J’ai fait cela pour rendre le chatbot aussi précis que possible sur le plan factuel. Le température Le paramètre détermine la créativité du chatbot, où une température de 0 signifie que le chatbot est toujours factuellement exact et une température de 1 signifie que le chatbot a toute liberté pour inventer des réponses et des détails dans un souci de créativité, même s’ils sont pas précis. Plus la température est élevée, plus le chatbot est créatif et moins précis sur le plan factuel.

Tout au long de ce code, je mentionne le mot « intégrations ». C’est exactement ce en quoi le texte de votre document Wikipédia est transformé afin d’être compris et compris par le chatbot. Chaque intégration est une liste de nombres allant de -1 à 1 qui associent chaque élément d’information en fonction de son degré de relation avec un autre. Au cas où vous vous demanderiez ce que text-embedding-ada-002 Cela signifie que c’est simplement le modèle qui est utilisé pour réaliser les intégrations, car c’est le plus efficace en termes de coût et de temps.

Ce code crée un fichier CSV d’intégration pour chaque document de votre chatbot_docs dossier, et comme vous n’en avez qu’un (pour les besoins de ce didacticiel), il ne crée qu’un seul fichier d’intégration. Mais si vous aviez plus de documents, le code créerait un fichier d’intégration pour chaque document. Cette approche rend votre chatbot plus évolutif.

Vous vous interrogez probablement aussi sur la partie avec les morceaux :

text_splitter = RecursiveCharacterTextSplitter(separators=["\n\n",  "\n"], chunk_size=2000, chunk_overlap=250) 
texts = text_splitter.split_text(content)  

Laisse-moi expliquer. Ce code divise la page Wikipédia sur les ordinateurs en morceaux de 2 000 caractères et en morceaux superposés de 250 caractères. Plus la taille du morceau est grande, plus le contexte du chatbot est grand, mais cela peut aussi le ralentir, j’ai donc choisi 2000 comme juste milieu entre 0 et 4096 (la taille maximale du morceau) pour ce tutoriel.

En ce qui concerne le chevauchement des fragments, ChatGPT recommande de maintenir le chevauchement des fragments entre 10 % et 20 % de la taille du fragment. Cela permet de conserver un certain contexte entre les différents morceaux. Cela garantit également que les fragments ne sont pas redondants, en les empêchant de contenir trop de données des fragments précédents.

Plus le chevauchement des morceaux est petit, plus le contexte entre les morceaux est petit. Plus le chevauchement des fragments est important, plus le contexte entre les fragments est important et plus les données des fragments sont redondantes.

Ce code divise également le document en paragraphes — en divisant le texte à chaque fois qu’il y a une nouvelle ligne (\n ou \n\n). Cela rend les morceaux plus cohérents, en garantissant qu’ils ne sont pas divisés au milieu du paragraphe.

Créer le chatbot

Une fois que vous avez exécuté votre code, vous avez préparé vos données à utiliser par le chatbot. Cela signifie que vous pouvez désormais créer le véritable chatbot.

Alors que le fichier Python que vous venez d’exécuter a créé les intégrations nécessaires au fonctionnement du chatbot, vous allez maintenant devoir créer un autre fichier Python pour le chatbot lui-même. Cela prendra une question en entrée et affichera une réponse faite par le chatbot.

Une fois que vous avez créé un nouveau fichier Python, ajoutez ce code Python du dépôt.

Désormais, si vous exécutez votre chatbot, vous devriez obtenir le résultat suivant après quelques secondes de traitement.

Démo de réponse

Maintenant que vous disposez de votre chatbot, vous pouvez expérimenter différentes questions ! Vous pouvez également expérimenter différents morceaux et chevauchements de morceaux, ainsi que la température (si vous n’avez pas besoin que votre chatbot soit précis à 100 % sur les faits).

Implémenter votre chatbot dans une application Web

Bien qu’avoir un simple chatbot soit agréable, vous recherchez probablement la vraie affaire : vous disposez d’une interface utilisateur pour votre chatbot qui permet aux utilisateurs du monde entier de l’utiliser.

Pour démarrer avec votre application Web de chatbot, créez un templates dossier dans le répertoire de votre projet. À l’intérieur, créez un fichier HTML appelé bot.html et un fichier CSS appelé style.css.

Assurez-vous également de créer un espace vide chat dossier dans le répertoire de votre projet. Cela va être utilisé pour la communication backend-frontend.

Maintenant, ajoutez ce code CSS à ton style.css déposer.

Après avoir fait cela, ajoutez ce HTML à ton bot.html déposer.

Maintenant, vous allez devoir modifier votre script de chatbot Python pour recevoir les requêtes de votre page Web et renvoyer les réponses en utilisant Ballon. Changez votre script Python en ce code.

Testons maintenant votre application Web de chatbot ! Exécutez votre fichier Python et ouvrez localhost:8001. Vous devriez maintenant voir votre page Web, comme illustré ci-dessous.

Our UI

Désormais, si vous saisissez une question, vous devriez voir une animation de chargement pendant que le chatbot la traite.

Notre animation de chargement

Enfin, après quelques secondes, vous devriez obtenir une réponse du chatbot, comme illustré ci-dessous.

Réponse

Conclusion

Vous pouvez désormais expérimenter votre chatbot. Utilisez différents ensembles de données et développez-vous à partir de cette application Web simple pour créer vos propres applications Web entièrement fonctionnelles. La beauté des chatbots est qu’ils peuvent être formés sur n’importe quoi, des transcriptions de podcasts aux livres de philosophie.

J’espère que vous avez trouvé ce tutoriel utile. Bon codage !




Source link