Talk-to-Slack l'application Web d'exemple

Il est très facile de créer une simple application web qui intégrera un LLM avec les connaissances de l'utilisateur grâce à des requêtes à Rememberizer.

Le code source de l'application peut être trouvé ici.

Dans cette section, nous fournirons des instructions étape par étape et le code source complet afin que vous puissiez rapidement créer votre propre application.

Nous avons créé un Talk-to-Slack GPT sur OpenAI. L'application Web Talk-to-Slack est très similaire.

Application web Talk-to-Slack.com par Rememberizer sur Heroku
Talk to Slack GPT par Rememberizer sur OpenAI

Introduction

Dans ce guide, nous fournissons des instructions étape par étape et le code source complet pour vous aider à créer votre propre application similaire à notre intégration Talk-to-Slack GPT avec Rememberizer.ai. Contrairement à l'intégration Slack, une application web offre plus de fonctionnalités et de contrôle, tels que le scrapage web, l'accès à la base de données locale, les graphiques et animations, et la collecte des paiements. De plus, elle peut être utilisée par quiconque sans avoir besoin d'un compte genAI premium.

Aperçu

Notre application exemple, Parlez à Slack, est hébergée sur Heroku et intègre le LLM d'OpenAI avec Rememberizer.ai pour améliorer votre expérience Slack. L'application web est construite en utilisant Flask et offre des fonctionnalités comme l'intégration OAuth2, l'accès aux données Slack et une interface utilisateur intuitive.

Fonctionnalités

  • Architecture basée sur Flask : Les opérations backend, les communications frontend et les interactions API sont gérées par Flask.

  • Intégration OAuth2 : Autorisation sécurisée et accès aux données avec le flux OAuth2 de Rememberizer.

  • Accès aux données Slack : Récupère les données Slack connectées de l'utilisateur en toute sécurité à l'aide des API de Rememberizer.

  • Intégration de OpenAI LLM : Traite les requêtes avec le service LLM de OpenAI pour des réponses perspicaces.

  • Interface utilisateur intuitive : Navigation et interaction faciles avec un design d'interface utilisateur moderne.

  • Meilleures pratiques : Adhère aux normes de sécurité et d'expérience utilisateur pour une intégration transparente.

Configuration et Déploiement

Prérequis

  • Python

  • Flask

Notez qu'il n'a pas été très difficile de faire réécrire cette application entière dans une autre langue, dans notre cas Golang. Donc, gardez à l'esprit que vous n'êtes pas limité à Python.

Configuration de l'environnement

Définissez ces variables d'environnement :

  • APP_SECRET_KEY : Clé secrète unique pour Flask.

  • REMEMBERIZER_CLIENT_ID : ID client pour votre application Rememberizer.

  • REMEMBERIZER_CLIENT_SECRET : Secret client pour votre application Rememberizer.

  • OPENAI_API_KEY : Votre clé API OpenAI.

Exécution de l'application

  1. Démarrer l'application Flask : Exécutez flask run dans le terminal et accédez à l'application à http://localhost:5000.

  2. Copiez l'URL de rappel dans la configuration de votre application Rememberizer : https://<YOURHOST>/auth/rememberizer/callback exemple : http://localhost:5000/auth/rememberizer/callback.

Déploiement dans le Cloud

Le déploiement sur des plateformes comme Heroku, Google Cloud Platform (GCP), Amazon Web Services (AWS) ou Microsoft Azure est recommandé.

Déploiement sur Heroku

  1. Créer un compte Heroku : Installez le Heroku CLI.

  2. Préparer votre application : Assurez-vous qu'un Procfile, runtime.txt et requirements.txt sont présents.

  3. Déployer : Utilisez le Heroku CLI ou l'intégration GitHub pour le déploiement.

Étapes détaillées

  • Connecter Heroku à GitHub : Activez les déploiements automatiques depuis le dépôt GitHub pour des mises à jour sans faille.

  • Déployer manuellement : Optionnellement, utilisez le déploiement manuel pour plus de contrôle.

Configuration supplémentaire

  • Installez le Heroku CLI : brew tap heroku/brew && brew install heroku (macOS).

  • Ajoutez des certificats SSL : Utilisez des certificats auto-signés pour la configuration initiale de HTTPS.

  • Configurez les variables d'environnement sur Heroku : Utilisez heroku config:set KEY=value pour les clés essentielles.

Autres plateformes Cloud

  • GCP : Créez un compte GCP, préparez votre application avec app.yaml, et déployez en utilisant gcloud app deploy.

  • AWS : Utilisez Elastic Beanstalk pour le déploiement après avoir créé un compte AWS et installé le AWS CLI.

  • Azure : Déployez via Azure App Service après avoir créé un compte Azure et installé le Azure CLI.

Sécurité et Meilleures Pratiques

Avant le déploiement, vérifiez votre requirements.txt, ajustez les configurations pour la production et mettez à jour les URI de redirection OAuth.

Notes sur le code de l'application

@app.route('/') (Route d'index) :

Cette route rend le modèle index.html lorsque l'URL racine (/) est accédée. Elle sert de page d'accueil de votre application.

@app.route('/auth/rememberizer') (Route d'authentification Rememberizer) :

Cette route initie le processus d'authentification OAuth2 avec Rememberizer.ai. Elle génère une valeur d'état aléatoire, la stocke dans la session, construit l'URL d'autorisation avec les paramètres nécessaires (ID client, URI de redirection, portée et état), et redirige l'utilisateur vers la page d'autorisation de Rememberizer.ai.

@app.route('/auth/rememberizer/callback') (Route de rappel Rememberizer) :

Cette route gère le rappel de Rememberizer.ai après que l'utilisateur a autorisé votre application. Elle extrait le code d'autorisation des paramètres de requête, l'échange contre un jeton d'accès en utilisant le point de terminaison de jeton de Rememberizer.ai, et stocke le jeton d'accès dans la session. Ensuite, elle redirige l'utilisateur vers la route /dashboard.

@app.route('/dashboard') (Route du tableau de bord) :

Cette route affiche la page du tableau de bord à l'utilisateur. Elle vérifie si l'utilisateur a un jeton d'accès dans la session ; sinon, elle le redirige vers la route d'authentification. Si l'utilisateur est authentifié, elle effectue une requête au point de terminaison de compte de Rememberizer.ai pour récupérer les informations du compte et rend le modèle dashboard.html avec ces informations.

@app.route('/slack-info') (Route d'information sur l'intégration Slack) :

Cette route montre des informations sur l'intégration Slack de l'utilisateur avec Rememberizer.ai. Elle vérifie la présence d'un jeton d'accès et effectue une requête au point de terminaison des intégrations de Rememberizer.ai pour obtenir les données d'intégration. Elle rend ensuite le modèle slack_info.html avec ces données.

@app.route('/ask', methods=['POST']) (Route de question) :

Cette route gère la soumission de questions de l'utilisateur. Elle vérifie la présence d'un jeton d'accès, récupère la question de l'utilisateur à partir des données du formulaire, et effectue une requête au point de terminaison de recherche de documents de Rememberizer.ai pour trouver des informations pertinentes. Elle utilise ensuite le modèle GPT-4 d'OpenAI pour générer une réponse basée sur la question et les résultats de recherche. La réponse est rendue dans le modèle answer.html.

Notes supplémentaires

  • Iconographie: Conçu avec un style d'art de papier plié détaillé, reflétant l'intégration de l'IA et de la communication. Notre icône a été créée dans Midjourney et Image2Icon.

  • Configuration SSL: Générez des certificats auto-signés à l'aide d'OpenSSL pour une communication sécurisée.

Explorer et Innover

Nous encourageons l'exploration et l'innovation avec votre propre application web intégrée à l'IA, visant à améliorer la productivité et la collaboration au sein de votre plateforme.


Cette documentation révisée fournit un guide complet pour les développeurs afin de créer leur propre application web intégrée à l'IA, similaire à Talk-to-Slack. Elle comprend des instructions détaillées pour la configuration, le déploiement et un aperçu du code de l'application, ainsi que les meilleures pratiques.

Last updated