import gradio as gr from gtts import gTTS # Google Text-to-Speech import json # Charger les données def charger_donnees(): try: with open("semxflow_data.json", "r", encoding="utf-8") as file: return json.load(file) except Exception as e: return {"reponses": {"error": f"Erreur de chargement du fichier JSON : {e}"}} # Fonction de réponse et de parole def chatbot_response(message): data = charger_donnees() reponses = data.get("reponses", {}) # Vérifier si l'IA connaît la réponse reponse = reponses.get(message.lower(), "Désolé, je ne comprends pas encore cette question.") # Convertir la réponse en audio avec gTTS tts = gTTS(text=reponse, lang="fr") tts.save("output.mp3") return "output.mp3", reponse # Interface Gradio avec audio iface = gr.Interface( fn=chatbot_response, inputs="text", outputs=["audio", "text"], # Retourne l'audio et le texte title="Chatbot SemXFlow", description="Pose-moi des questions et je vais répondre (avec la voix bientôt) !" ) if __name__ == "__main__": iface.launch()