Nous utilisons des cookies

    Nous utilisons des cookies essentiels pour assurer le bon fonctionnement de notre plateforme et améliorer votre expérience. En continuant à utiliser ce site, vous acceptez notre utilisation des cookies conformément à notre Politique de Confidentialité.

    Bourdak AI Solutions
    BourdakAI Solutions
    Avancé

    Automatisation du Service Client WhatsApp avec l'IA

    Dans le contexte Francophone, WhatsApp est devenu le canal de communication principal pour les entreprises. Avec plus de 2 milliards d'utilisateurs dans le monde, WhatsApp représente une opportunité majeure pour améliorer le service client tout en réduisant les coûts opérationnels.

    Les Avantages de l'Automatisation IA:

    • Disponibilité 24h/24, 7j/7: Vos clients obtiennent des réponses instantanées, même en dehors des heures de travail

    • Réduction des coûts: Un chatbot peut gérer des centaines de conversations simultanément

    • Cohérence des réponses: Chaque client reçoit des informations précises et uniformes

    • Support multilingue: Notre système détecte automatiquement la langue (français/anglais)

    • Qualification des leads: Le chatbot collecte automatiquement les informations de contact

    • Passage intelligent: Le système sait quand transférer à un humain

    Ce Que Vous Allez Développez:

    À la fin de cet atelier, vous aurez un système complet comprenant:

    Composant

    Description Détaillée

    Backend Python

    Serveur FastAPI qui reçoit les messages, les traite avec Claude AI, et renvoie les réponses

    Base de Connaissances

    Fichier JSON contenant toutes les informations sur votre entreprise, services, FAQ, et règles d'escalade

    Intégration Claude AI

    Module qui communique avec l'API Anthropic pour générer des réponses intelligentes et contextuelles

    Mémoire Conversationnelle

    Stockage DynamoDB qui garde l'historique des conversations pour un contexte personnalisé

    Webhook WhatsApp

    Point d'entrée qui reçoit les messages de Twilio et renvoie les réponses au format TwiML

    Infrastructure AWS

    Lambda (serverless), API Gateway (endpoints HTTPS), DynamoDB (base de données)

    45 min
    10 étapes
    59

    Étapes du guide

    1

    Comprendre l'Architecture du Système

    Flux de Données:

    Voici comment un message voyage dans le système, de l'utilisateur jusqu'à la réponse:

    1. L'utilisateur envoie un message via WhatsApp sur son téléphone

    2. Twilio reçoit le message et le transmet à votre webhook (URL configurée)

    3. API Gateway (AWS) reçoit la requête HTTPS et déclenche votre fonction Lambda

    4. Lambda exécute votre code Python qui:

    a) Récupère l'historique de conversation depuis DynamoDB

    b) Charge la base de connaissances

    c) Envoie le tout à Claude AI pour générer une réponse

    d) Sauvegarde la nouvelle conversation dans DynamoDB

    1. La réponse est renvoyée à Twilio au format TwiML (XML)

    2. Twilio transmet la réponse à l'utilisateur sur WhatsApp

    Étape 1
    2

    Prérequis et Préparation

    Comptes NécessairesServiceURL d'InscriptionCoût InitialAnthropic (Claude)console.anthropic.com$5 crédit offertAWSaws.amazon.comFree Tier 12 moisTwiliotwilio.comSandbox gratuitLogiciels à InstallerInstallez ces outils sur votre ordinateur:1. Python 3.11+Téléchargez depuis python.org. Vérifiez l'installation:python --version2. AWS CLIL'interface en ligne de commande AWS. Installation:# macOS brew install awscli # Windows (PowerShell en admin) msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi # Linux curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install3. AWS SAM CLIOutil pour déployer des applications serverless :# macOS brew install aws-sam-cli # Windows/Linux pip install aws-sam-cli4. Configuration AWSConfigurez vos identifiants AWS :aws configure # Entrez votre Access Key ID # Entrez votre Secret Access Key # Région: us-east-1 (ou eu-west-1) # Format: json

    3

    Configuration du Projet

    Créer la Structure du ProjetCommencez par créer les dossiers et fichiers nécessaires :# Créer le dossier du projet mkdir mon-chatbot-whatsapp cd mon-chatbot-whatsapp # Créer les sous-dossiers mkdir src knowledge tests # Créer l'environnement virtuel Python python -m venv venv # Activer l'environnement source venv/bin/activate # Mac/Linux venv\Scripts\activate # WindowsFichier requirements.txtCréez ce fichier avec toutes les dépendances :# API Claude (Anthropic) anthropic>=0.18.0 # AWS SDK pour DynamoDB boto3>=1.34.0 # Framework web fastapi>=0.109.0 uvicorn>=0.27.0 # Adaptateur AWS Lambda mangum>=0.17.0 # IMPORTANT: Pour codifier les données Twilio python-multipart>=0.0.6 # Utilitaires python-dotenv>=1.0.0 pydantic>=2.5.0Installez les dépendances :pip install -r requirements.txt

    4

    Création de la Base de Connaissances

    Comprendre la Base de Connaissances:La base de connaissances est le cœur de votre chatbot. C'est un fichier JSON qui contient toutes les informations que l'IA doit connaître pour répondre aux questions des clients. Plus cette base est complète et bien structurée, plus votre bot sera efficace.Structure du Fichier JSON:Créez le fichier knowledge/knowledge_base.json avec cette structure :Section 1 : Informations de l'Entreprise{ "company": { "name": "Votre Entreprise", "website": "https://votre-site.com", "contact_email": "contact@votre-site.com", "phone": "+243 XXX XXX XXX", "languages": ["French", "English"], "location": "Kinshasa, RDC", "business_hours": "Lun-Ven: 8h-18h, Sam: 9h-13h" },Section 2 : Services (Bilingue)"services": { "service_principal": { "name_fr": "Conseil en Intelligence Artificielle", "name_en": "AI Consulting", "description_fr": "Nous aidons les entreprises...", "description_en": "We help businesses...", "pricing_fr": "Devis personnalisé après consultation", "pricing_en": "Custom quote after consultation" } },Section 3 : FAQ (Questions Fréquentes)"faq": [ { "question_fr": "Comment puis-je vous contacter ?", "question_en": "How can I contact you?", "answer_fr": "Vous pouvez nous joindre par...", "answer_en": "You can reach us by..." } ],Section 4 : Déclencheurs de transfertCes phrases déclenchent un transfert vers un humain:"handoff_triggers": [ "parler à quelqu'un", "speak to someone", "réclamation", "complaint", "urgent", "pas satisfait", "not satisfied", "remboursement", "refund" ] }Comment l'IA Utilise Cette BaseQuand un client envoie un message, le système :1.    Charge le fichier JSON en mémoire2.    L'injecte dans le "system prompt" envoyé à Claude3.    Claude utilise ces informations pour formuler des réponses précises4.    Les déclencheurs sont vérifiés à chaque message pour le transfert

    5

    Intégration avec Claude AI

    Le Fichier claude_client.pyCe module est responsable de toute la communication avec l'API Claude. Il contient trois fonctions principales :1. Le System PromptLe system prompt est un ensemble d'instructions qui définit le comportement de l'IA. C'est comme un "manuel d'instructions" que Claude suit pour chaque conversation.Éléments clés du system prompt :•       Identité : "Tu es l'assistant IA de [Entreprise]"•       Comportement : "Réponds de manière concise et professionnelle"•       Langue : "Détecte la langue du client et réponds dans la même langue"•       Connaissances : Toutes les informations de votre base de connaissances•       Règles de transfert : "Si le client mentionne X, propose un transfert"2. Détection de LangueUne fonction simple qui compte les mots anglais courants dans le message :def detect_language(self, text: str) -> str: english_words = ["hello", "thank you", "comment", "why", "you", "us", "is it"] count = sum(1 for w in english_words if w in text.lower()) return "en" if count >= 2 else "fr"3. Détection de transfertVérifie si le message contient des mots-clés nécessitant un humain :def check_handoff_needed(self, text: str) -> bool: triggers = self.knowledge.get("handoff_triggers", []) return any(t.lower() in text.lower() for t in triggers)

    6

    Déploiement sur AWS

    Le Fichier template.yamlCe fichier définit toute votre infrastructure AWS. SAM (Serverless Application Model) l'utilise pour créer automatiquement :Lambda Function : Exécute votre code PythonAPI Gateway : Fournit les URLs HTTPS publiquesDynamoDB Table : Stocke les conversationsIAM Roles : Permissions nécessairesCommandes de Déploiement# 1. créer l'application sam build # 2. Déployer (première fois - mode guidé) sam deploy --guidedQuestions du Mode GuidéQuestionRéponse RecommandéeStack Namemon-chatbot-whatsappAWS Regionus-east-1 ou eu-west-1AnthropicApiKeyVotre clé API (sk-ant-...)Confirm changes before deployyAllow SAM CLI IAM role creationySave arguments to config filey 

    7

    Connexion WhatsApp via Twilio

    Configuration du Sandbox TwilioLe sandbox Twilio vous permet de tester gratuitement avant de passer en production.1.    Créez un compte Twilio sur twilio.com2.    Accédez au sandbox WhatsApp : Messaging → Try it out → Send a WhatsApp message3.    Rejoignez le sandbox : Envoyez le message "join xxx-xxx" au numéro indiqué depuis votre WhatsApp4.    Configurez le webhook : Messaging → Settings → WhatsApp Sandbox Settings5.    "When a message comes in" : Collez votre URL de webhook6.    Méthode : POSTURL du Webhookhttps://VOTRE-API-ID.execute-api.REGION.amazonaws.com/dev/webhook/whatsappRemplacez VOTRE-API-ID et REGION par les valeurs de votre déploiement SAM.

    8

    Analyse des Coûts

    Voici une estimation des coûts mensuels pour un usage modéré (1000 conversations/mois) :ServiceGratuitCoût EstiméAWS Lambda1M requêtes/mois$0-2API Gateway1M appels/mois$1-3DynamoDB25GB stockage$0-2Claude APIAucun$10-20Twilio WhatsAppSandbox gratuit$5-50 (production)TOTAL-$15-75/mois

    9

    Dépannage et Solutions

    ProblèmeSolutionWhatsApp ne répond pas1. Vérifiez le code "join" envoyé 2. Vérifiez l'URL du webhook dans TwilioErreur 11200 dans TwilioVérifiez les logs Lambda dans CloudWatch pour voir l'erreur exacteErreur 12200 (XML invalide)Utilisez Response() au lieu de JSONResponse() pour le webhook WhatsApppython-multipart errorAjoutez python-multipart>=0.0.6 dans requirements.txt et redéployezDynamoDB access deniedVérifiez que DynamoDBCrudPolicy est dans template.yamlRéponse en mauvaise langueAjoutez plus de mots indicateurs français dans detect_language()sam build échoueVérifiez Python 3.11+ et que requirements.txt est valideConsulter les LogsPour voir les logs de votre Lambda en temps réel :aws logs tail /aws/lambda/mon-chatbot-dev --follow

    10

    Production WhatsApp

    Passez du sandbox à un numéro business officiel sur twilio

    Guides recommandés