Spaces:
Sleeping
Sleeping
| from huggingface_hub import InferenceClient | |
| import os | |
| # Utilise le token depuis les secrets HF | |
| HF_TOKEN = os.getenv("HUGGINGFACEHUB_API_TOKEN") | |
| def generate_email(model_id, to_email, context, tone): | |
| client = InferenceClient(token=HF_TOKEN) | |
| prompt = f""" | |
| Tu es un assistant virtuel. Rédige un email destiné à {to_email}. | |
| Contexte : {context} | |
| Ton : {tone} | |
| Réponds en deux parties : | |
| 1. Objet : ligne d'objet de l'email | |
| 2. Corps : contenu de l'email bien rédigé, en respectant le ton demandé. | |
| Commence chaque partie par son étiquette. | |
| """.strip() | |
| try: | |
| response = client.text_generation( | |
| model=model_id, | |
| prompt=prompt, | |
| max_new_tokens=512, | |
| temperature=0.7, | |
| ) | |
| return parse_email(response) | |
| except Exception as e: | |
| return "Erreur", f"❌ Erreur de génération : {e}" | |
| def parse_email(text): | |
| lines = text.strip().split("\n") | |
| subject = next((line for line in lines if line.lower().startswith("objet")), "Objet : (non trouvé)") | |
| body_lines = [line for line in lines if not line.lower().startswith("objet")] | |
| body = "\n".join(body_lines).strip() | |
| return subject, body | |