import requests from config import HEADERS # 轉換英文分類為中文 def translate_sentiment(label): if "positive" in label.lower(): return "😃 **正向**" elif "neutral" in label.lower(): return "😐 **中立**" else: return "😡 **負向**" # 轉換信心度為更直觀的等級 def convert_confidence(score): percentage = round(score * 100) if score >= 0.90: return f"🌟 **極高信心** ({percentage}%)" elif score >= 0.75: return f"✅ **高信心** ({percentage}%)" elif score >= 0.50: return f"⚠️ **中等信心** ({percentage}%)" elif score >= 0.30: return f"❓ **低信心** ({percentage}%)" else: return f"❌ **極低信心(建議忽略)** ({percentage}%)" # 調用 Hugging Face API 進行情緒分析 def analyze_sentiment(text, model_id): try: API_URL = f"https://api-inference.huggingface.co/models/{model_id}" response = requests.post(API_URL, headers=HEADERS, json={"inputs": text}) result = response.json() if isinstance(result, list) and len(result) > 0: sentiment = translate_sentiment(result[0]["label"]) confidence = result[0]["score"] confidence_label = convert_confidence(confidence) return f"**情緒分類**: {sentiment}\n**AI判斷的信心度為**: {confidence_label}" else: return "⚠️ **無法分析文本,請稍後再試**" except Exception as e: return f"❌ **錯誤**: {str(e)}"