Maison développement back-end Tutoriel Python Exemple détaillé de la façon d'implémenter un chatbot à l'aide de l'API Python+Slack

Exemple détaillé de la façon d'implémenter un chatbot à l'aide de l'API Python+Slack

Apr 02, 2018 am 11:23 AM
聊天机器人

Un chatbot (Bot) est un service de chat interactif pratique comme Slack. Si vous n'avez jamais créé de chatbot auparavant, cet article fournit un guide d'introduction simple sur la façon de créer votre premier chatbot à l'aide de Python et de l'API Slack.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Nous construisons votre environnement de développement, obtenons un jeton de chatbot de l'API Slack et utilisons Python Développons un chatbot simple .

Outils dont nous avons besoin

Notre chatbot, nous l'appellerons « StarterBot », il a besoin de Python et de l'API Slack. Pour exécuter notre code Python, nous avons besoin de :

  • Python 2 ou Python 3

  • pip et virtualenv pour gérer les dépendances des applications Python

  • Un compte Slack gratuit avec accès à l'API, ou vous pouvez vous inscrire à une équipe Slack Developer Hangout.

  • Base de code client Python Slack officielle construite par l'équipe Slack

  • Test de l'API Slack Jetons

La documentation de l'API Slack vous sera utile lors de la construction de ce didacticiel.

Tout le code de ce tutoriel est placé dans la bibliothèque publique slack-starterbot et est open source sous la licence MIT.

Construire notre environnement

Nous savons maintenant de quels outils nous avons besoin pour notre projet, alors mettons en place notre environnement de développement. Accédez d’abord au terminal (ou à l’invite de commande sous Windows) et accédez au répertoire dans lequel vous souhaitez stocker ce projet. Dans ce répertoire, créez un nouveau virtualenv pour isoler nos dépendances d'application des autres projets Python.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Activer virtualenv :

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Votre invite devrait maintenant ressembler à la capture d'écran :

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Invite de commande du virtualenv activé de starterbot Cette bibliothèque officielle d'aide de l'API du client Slack est construite par Slack, qui peut envoyer et recevoir des messages via les canaux Slack. Installez la bibliothèque slackclient via cette commande pip :

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Une fois la commande pip terminée, vous devriez voir quelque chose comme cette sortie et renvoie l'invite.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Le résultat de l'installation de slackclient avec pip dans un environnement virtuel activé que nous devons également obtenir pour notre projet Slack Un jeton d'accès pour que notre chatbot puisse l'utiliser pour se connecter à l'API Slack.

API Slack Real-Time Messaging (RTM)

Slack permet aux programmes d'accéder à leurs messages via une API Web Canal de livraison. Accédez à cette page de l'API Web Slack pour vous inscrire et créer votre propre projet Slack. Vous pouvez également vous connecter à un compte existant pour lequel vous disposez de droits d'administrateur.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Après vous être connecté à l'aide du bouton de connexion dans le coin supérieur droit de la page de l'API Web, vous arriverez sur la page utilisateur du chatbot.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Personnaliser la page utilisateur du chatbot Nommez votre chatbot « starterbot » et cliquez sur le bouton « Ajouter une intégration de bot ».

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Ajoutez une intégration de bot et nommez-la "starterbot". La page se rechargera et vous verrez un jeton de visite nouvellement généré. Vous pouvez également modifier le logo en un de vos propres designs. Par exemple, j'ai donné ce drapeau "Full Stack Python".

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack


Copiez et collez le jeton d'accès de votre nouveau chatbot Slack en bas de la page Bouton "Enregistrer l'intégration". Votre chatbot est maintenant prêt à se connecter à l'API Slack.

Une pratique courante parmi les développeurs Python consiste à exporter le jeton secret en tant que variable d'environnement. Le nom du jeton Slack de sortie est SLACK_BOT_TOKEN :

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
D'accord, nous sommes désormais autorisés à utiliser cette API Slack comme chatbot.

Nous avons besoin d'une information supplémentaire pour construire le chatbot : l'identifiant de notre chatbot. Nous allons ensuite écrire un court script pour obtenir cet identifiant de l'API Slack.

Obtenir l'identifiant de notre chatbot

Il est enfin temps d'écrire du code Python. Écrivons un court A ! Script Python pour réchauffer l'ID du StarterBot. Cet identifiant varie en fonction du projet Slack.

Nous avons besoin de cet identifiant pour authentifier notre application lors de l'analyse des messages envoyés à StarterBot depuis Slack RTM. Notre script testera également si notre variable d'environnement SLACK_BOT_TOKEN est correctement définie.

Créez un nouveau fichier nommé printbotid.py et remplissez le code suivant :

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Notre code importe SlackClient et l'instancie avec la variable d'environnement SLACK_BOT_TOKEN que nous avons définie. Lorsque ce script est exécuté via la commande python, nous accédons à l'API Slack pour lister tous les utilisateurs Slack et obtenir un identifiant correspondant au nom « satrterbot ».

Il suffit d’exécuter ce script une seule fois pour obtenir l’identifiant du chatbot.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Lorsqu'il s'exécute en nous donnant l'ID du chatbot, le script imprime une simple ligne de sortie.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Utilisez un script Python dans votre projet Slack pour imprimer l'ID du chatbot Slack. Copiez l'ID unique imprimé par ce script. Et affichez l'ID en tant que variable d'environnement BOT_ID.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Ce script ne doit être exécuté qu'une seule fois pour obtenir l'identifiant du chatbot. Nous pouvons désormais utiliser cet identifiant dans notre application Python exécutant StarterBot.

Codage de notre StarterBot

Nous avons maintenant tout ce dont nous avons besoin pour écrire le code de notre StarterBot. Créez un nouveau fichier nommé starterbot.py et incluez le code suivant.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
L'importation d'os et de SlackClient semble familière car nous les avons déjà utilisés dans theprintbotid.py.

Grâce aux packages de dépendances que nous avons importés, nous pouvons les utiliser pour obtenir les valeurs des variables d'environnement et instancier le client Slack.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Ce code instancie le client SlackClient` via la variable d'environnement SLACK_BOT_TOKEN que nous exportons.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Le client Slack se connecte à l'API WebSocket de Slack RTM, puis effectue une boucle continue tout en analysant les messages de Firehose. Si des messages sont envoyés au StarterBot, une fonction appelée handle_command détermine quoi faire.

Ajoutez ensuite deux fonctions pour analyser la sortie de Slack et gérer les commandes. La fonction parse_slack_output accepte les messages de Slack et détermine s'ils ont été envoyés à notre StarterBot. Le message commence par une commande directe adressée à notre identifiant de chatbot et est ensuite transmis à notre code pour traitement. Actuellement, je viens de publier un message via le pipeline Slack pour dire à l'utilisateur d'écrire plus de code Python

Voici à quoi ressemble l'ensemble du programme (vous pouvez également voir le fichier dans GitHub ! ) :Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Maintenant que notre code est là, nous pouvons exécuter notre StarterBot via le code python starterbot.py .

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Lorsque StarterBot démarre et que le canal de sortie connecté à l'API crée un nouveau canal dans Slack et met Invitez StarterBot ou invitez StarterBot dans un canal existant.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack

Créez une nouvelle chaîne dans Slack et invitez StarterBot. Envoyez maintenant des commandes à StarterBot dans votre chaîne.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+Slack
Envoyez des commandes à votre StarterBot dans votre chaîne Slack Si vous rencontrez des problèmes avec les réponses que vous recevez de votre chatbot, vous pouvez A une modification doit être apportée. Comme écrit ci-dessus pour ce tutoriel, la ligne AT_BOT = « : » nécessite deux points après « @starter » (le nom que vous avez donné à votre propre chatbot). Supprimer : à la fin de la chaîne AT_BOT. Slack semble exiger deux points après le nom d'une personne, mais cela semble un peu incongru.

Exemple détaillé de la façon dimplémenter un chatbot à laide de lAPI Python+SlackFin

D'accord, vous disposez maintenant d'un chatbot simple pour lequel vous pouvez faire beaucoup de choses dans le code ajoutez toutes les fonctionnalités que vous souhaitez créer.

Nous pouvons faire beaucoup de choses en utilisant l'API Slack RTM et Python. Découvrez ce que vous pouvez apprendre d'autre grâce à ces articles :

  • Attachez une base de données relationnelle persistante ou un backend NoSQL tel que PostgreSQL, MySQL ou SQLite pour enregistrer et récupérer les données utilisateur

  • Ajouter un autre canal pour interagir avec le chatbot, comme un SMS ou un appel téléphonique

  • Intégrer d'autres API web, comme GitHub, Twilio ou api.ai

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Xiaohongshu commence à tester le chatbot IA « Da Vinci » Xiaohongshu commence à tester le chatbot IA « Da Vinci » Jan 15, 2024 pm 12:42 PM

Xiaohongshu s'efforce d'enrichir ses produits en ajoutant davantage de fonctionnalités d'intelligence artificielle. Selon les médias nationaux, Xiaohongshu teste en interne une application d'IA appelée « Davinci » dans son application principale. Il est rapporté que l'application peut fournir aux utilisateurs des services de chat IA tels que des questions et réponses intelligentes, notamment des guides de voyage, des guides gastronomiques, des connaissances géographiques et culturelles, des compétences de vie, une croissance personnelle et une construction psychologique, etc. Selon les rapports, "Davinci" utilise le modèle LLAMA sous le produit Meta A pour la formation, le produit est testé depuis septembre de cette année. Il y a des rumeurs selon lesquelles Xiaohongshu effectuait également un test interne d'une fonction de conversation de groupe par l'IA. Grâce à cette fonction, les utilisateurs peuvent créer ou introduire des personnages IA dans des discussions de groupe, et avoir des conversations et des interactions avec eux. Source de l'image : T.

Comment développer un chatbot intelligent en utilisant ChatGPT et Java Comment développer un chatbot intelligent en utilisant ChatGPT et Java Oct 28, 2023 am 08:54 AM

Dans cet article, nous présenterons comment développer des chatbots intelligents à l'aide de ChatGPT et Java, et fournirons quelques exemples de code spécifiques. ChatGPT est la dernière version du Generative Pre-training Transformer développé par OpenAI, une technologie d'intelligence artificielle basée sur un réseau neuronal qui peut comprendre le langage naturel et générer du texte de type humain. En utilisant ChatGPT, nous pouvons facilement créer des discussions adaptatives

Comment développer un chatbot intelligent basé sur l'IA en utilisant Java Comment développer un chatbot intelligent basé sur l'IA en utilisant Java Sep 21, 2023 am 10:45 AM

Comment utiliser Java pour développer un chatbot intelligent basé sur l'intelligence artificielle Avec le développement continu de la technologie de l'intelligence artificielle, les chatbots intelligents sont de plus en plus largement utilisés dans divers scénarios d'application. Le développement d'un chatbot intelligent basé sur l'intelligence artificielle peut non seulement améliorer l'expérience utilisateur, mais également réduire les coûts de main-d'œuvre pour les entreprises. Cet article présentera comment utiliser le langage Java pour développer un chatbot intelligent basé sur l'intelligence artificielle et fournira des exemples de code spécifiques. Déterminez la fonction et le domaine du bot Avant de développer un chatbot intelligent, vous devez d'abord déterminer.

La combinaison parfaite de ChatGPT et Python : créer un chatbot en temps réel La combinaison parfaite de ChatGPT et Python : créer un chatbot en temps réel Oct 28, 2023 am 08:37 AM

La combinaison parfaite de ChatGPT et Python : Créer un chatbot en temps réel Introduction : Avec le développement rapide de la technologie de l'intelligence artificielle, les chatbots jouent un rôle de plus en plus important dans divers domaines. Les chatbots peuvent aider les utilisateurs à fournir une assistance immédiate et personnalisée tout en offrant aux entreprises un service client efficace. Cet article explique comment utiliser le modèle ChatGPT et le langage Python d'OpenAI pour créer un robot de discussion en temps réel et fournit des exemples de code spécifiques. 1. ChatGPT

Pourquoi les chatbots ne peuvent pas remplacer complètement les humains Pourquoi les chatbots ne peuvent pas remplacer complètement les humains May 09, 2023 pm 12:31 PM

L'importance de la créativité, de l'empathie et de l'authenticité dans le service client et la rédaction Dans cet article de blog, nous discutons des avantages et des inconvénients de l'utilisation de chatbots dans le secteur du service client et de la rédaction. Bien que les chatbots puissent fournir des réponses rapides et précises aux demandes des clients, ils n'ont pas la créativité, l'empathie et l'authenticité que possèdent les rédacteurs humains et les représentants du service client. Nous aborderons également les enjeux éthiques entourant l’utilisation des chatbots et de l’intelligence artificielle en général. Dans l’ensemble, les chatbots doivent être considérés comme un complément plutôt que comme un substitut au travail humain. Apprenez-en davantage sur le rôle des chatbots sur le marché du travail dans cet article. Je comprends les inquiétudes de nombreuses personnes quant au potentiel de l’IA à remplacer les travailleurs humains. Plus précisément, des spéculations ont eu lieu sur la possibilité que les chatbots remplacent le service client humain.

Xiaohongshu teste en interne le chatbot Da Vinci AI « Davinic » Xiaohongshu teste en interne le chatbot Da Vinci AI « Davinic » Jan 05, 2024 pm 10:57 PM

Nouvelles de ChinaZ.com du 25 décembre : selon les informations de Tech Planet, Xiaohongshu a testé en interne une fonction d'IA appelée « Davinic » dans son application principale. Cette fonction est testée depuis septembre et est toujours en cours. Il s'agit d'une autre nouvelle application d'IA lancée par Xiaohongshu après la discussion de groupe AI. "Davinic" fournit principalement aux utilisateurs des fonctions de chat IA telles que des questions et réponses intelligentes. "Davinic" se concentre davantage sur la fourniture de questions et de réponses sur la belle vie, notamment des guides de voyage, des guides gastronomiques, des connaissances géographiques et culturelles, des compétences de vie, une croissance personnelle et des conseils psychologiques, ainsi que des recommandations d'activités et d'autres domaines. "Davinic" est basé sur le grand modèle LLAMA sous Meta

Prend en charge le dialogue chinois ! NOUVEAU NVIDIA ChatRTX mis à jour Prend en charge le dialogue chinois ! NOUVEAU NVIDIA ChatRTX mis à jour Jun 09, 2024 am 11:25 AM

Dès février, NVIDIA a lancé le chatbot ChatwithRTX basé sur LLM. En mai, le chatbot a été mis à jour, ajoutant de nouveaux modèles et de nouvelles fonctions, le package a également été réduit de 35G à 11G et le logiciel a été officiellement renommé ChatRTX. Dans l'article et la vidéo précédents sur ChatwithRTX, nous avons mentionné que ChatwithRTX n'avait pas sa propre réponse chinoise. Si vous souhaitez implémenter des réponses chinoises, vous devez installer votre propre environnement, de grands modèles linguistiques, etc. Mais cette étape a un seuil relativement élevé pour les utilisateurs, et ils doivent passer par de nombreuses étapes compliquées pour obtenir des questions et réponses en chinois. Avant l’introduction, parlons brièvement de ce qu’est ChatRTX.

Étapes pour créer un bot IA et gagner de l'argent avec lui Étapes pour créer un bot IA et gagner de l'argent avec lui May 08, 2023 pm 03:31 PM

C'est le moment idéal pour créer votre propre bot IA comme ChatGPT. Dans cet article, nous explorerons comment créer votre propre chatbot IA, tel que ChatGPT, étape par étape. Je me souviens avoir embauché des pigistes pour la rédaction de contenu, les tests A/B et de nombreuses autres tâches qui devraient être effectuées par des « professionnels » et des « personnes expérimentées ». Mais je ne pense pas que cela se produira dans le futur. Pourquoi? Présentation de l’intelligence artificielle (IA) pour une génération de résultats efficace et précise. Depuis son introduction, l’intelligence artificielle a révolutionné à peu près tout. Des assistants virtuels à commande vocale aux chatbots qui nous aident à trouver des informations, l’intelligence artificielle change la façon dont nous interagissons avec la technologie. Il peut même coder des sites Web ! ChatGPT développé par OpenAI

See all articles