from transformers import pipeline import gradio as gr import os import spaces # Charger le modèle GPT de Hugging Face model_id = "deepseek-ai/deepseek-llm-7b-chat" pipe = pipeline("text-generation", model=model_id) # Consigne que le modèle suivra pour chaque chat system_message = "You are a feeling analyzer." @spaces.GPU # Fonction pour générer une réponse à partir du message de l'utilisateur def generate_response(user_message, history): # Ajouter le message système au début de l'historique des messages messages = [{"role": "system", "content": system_message}] + [{"role": "user", "content": user_message}] # Créer une chaîne de caractères représentant la conversation conversation_text = system_message + "\n" for past_user_input, past_bot_response in history: conversation_text += f"User: {past_user_input}\nAssistant: {past_bot_response}\n" # Ajouter le nouveau message de l'utilisateur conversation_text += f"User: {user_message}\n" # Générer une réponse result = pipe(conversation_text, max_new_tokens=150) response = result[0]['generated_text'].split("User: ")[-1].strip() # Extraire la réponse générée # Mettre à jour l'historique history.append((user_message, response)) return history, response # Configurer et lancer l'interface de chat avec Gradio iface = gr.Interface( fn=generate_response, inputs=["text", "state"], outputs=["state", "text"], live=True, ) iface.launch()