import gradio as gr import requests import json import os from dotenv import load_dotenv # Charger les variables d'environnement load_dotenv() HUGGINGFACE_API_URL = os.getenv("HUGGINGFACE_API_URL") # URL de l'API Hugging Face HUGGINGFACE_API_KEY = os.getenv("HUGGINGFACE_API_KEY") # Clé API de Hugging Face # Fonction pour obtenir les paramètres du dashboard def get_dashboard_params(): response = requests.get("http://your_dashboard_api/params") # Remplacez par l'URL de votre API dashboard if response.status_code == 200: return response.json() else: return {} def process_message(message, history): # Récupérer les paramètres du dashboard params = get_dashboard_params() # Utilisation d'un modèle NLP pour générer une réponse headers = { "Authorization": f"Bearer {HUGGINGFACE_API_KEY}", "Content-Type": "application/json" } payload = { "inputs": message, "parameters": params.get("model_settings", {}) } response = requests.post(HUGGINGFACE_API_URL, headers=headers, data=json.dumps(payload)) if response.status_code == 200: response_data = response.json() return response_data.get("generated_text", "Désolé, je n'ai pas pu traiter votre demande.") else: return "Erreur de communication avec le modèle." # Créer l'interface Gradio with gr.Blocks() as demo: chatbot = gr.Chatbot() msg = gr.Textbox() clear = gr.Button("Clear") msg.submit(process_message, [msg, chatbot], [msg, chatbot]) clear.click(lambda: None, None, chatbot, queue=False) if __name__ == "__main__": demo.launch()