Spaces:
Build error
Build error
| import gradio as gr | |
| import json | |
| import pyttsx3 | |
| from langdetect import detect | |
| # Charger les données de l'agence SemXFlow | |
| def charger_donnees(): | |
| return { | |
| "nom_agence": "SemXFlow", | |
| "services_fr": [ | |
| "Copywriting : Création de textes qui captent l'attention et transforment vos prospects en clients.", | |
| "Email Marketing : Séquences d'emails qui augmentent vos conversions et fidélisent vos clients.", | |
| "Pages de Vente : Optimisation de vos pages pour convertir davantage de visiteurs en clients." | |
| ], | |
| "services_en": [ | |
| "Copywriting: Creating texts that grab attention and turn your prospects into clients.", | |
| "Email Marketing: Email sequences that boost your conversions and retain your clients.", | |
| "Sales Pages: Optimizing your pages to convert more visitors into clients." | |
| ], | |
| "mission_fr": "Aider les petites entreprises à booster leur communication et leurs ventes en ligne grâce à des stratégies de marketing percutantes.", | |
| "mission_en": "Helping small businesses boost their communication and sales online with powerful marketing strategies.", | |
| "ton": "Professionnel, humain, dynamique, avec une touche d'humour pour rendre le message plus engageant." | |
| } | |
| # Fonction pour générer des réponses en fonction de la langue détectée | |
| def chatbot_response(message): | |
| data = charger_donnees() | |
| # Détection de la langue | |
| langue = detect(message) | |
| # Sélectionner les bonnes réponses en fonction de la langue | |
| if langue == 'fr': # Si la langue est le français | |
| services = "\n".join(data["services_fr"]) | |
| mission = data["mission_fr"] | |
| elif langue == 'en': # Si la langue est l'anglais | |
| services = "\n".join(data["services_en"]) | |
| mission = data["mission_en"] | |
| else: | |
| # Si la langue n'est ni le français ni l'anglais | |
| services = "Désolé, je ne parle pas cette langue pour l'instant. Essayez en français ou en anglais." | |
| mission = "" | |
| # Générer la réponse | |
| if "services" in message.lower(): | |
| reponse = f"Voici ce que nous proposons chez {data['nom_agence']} :\n{services}" | |
| elif "mission" in message.lower(): | |
| reponse = f"Notre mission chez {data['nom_agence']} est de :\n{mission}" | |
| else: | |
| reponse = "Désolé, je ne comprends pas cette question. Pose-moi une autre question ! 😄" | |
| # Convertir la réponse en audio | |
| tts = pyttsx3.init() | |
| tts.say(reponse) | |
| tts.runAndWait() | |
| return reponse | |
| # Interface Gradio avec audio | |
| iface = gr.Interface( | |
| fn=chatbot_response, | |
| inputs="text", | |
| outputs=["text"], | |
| title="Chatbot SemXFlow", | |
| description="Pose-moi des questions sur SemXFlow et nos services !" | |
| ) | |
| if __name__ == "__main__": | |
| iface.launch() | |