# empathy_layer.py """ Umut Sistemi - Duygu ve His Projesi Empati Katmanı (Emotion & Empathy Layer) Kurucu: Adnan Tultar Tarih: 2025 """ import json from typing import Dict, List, Tuple class EmpathyLayer: def __init__(self): self.modes = { "normal": "Tarafsız ve bilgilendirici yanıt ver.", "empatik": "Kullanıcının duygusunu anla, empati kur ve destekleyici ol.", "vicdanli": "Empati + ahlaki vicdan + uzun vadeli iyilik odaklı yanıt ver. Zarar verme ihtimalini kontrol et.", "pasif": "Sadece dinle, soru sorma, minimal yanıt ver." } def detect_emotion(self, user_input: str) -> Dict[str, float]: """Basit duygu analizi (gerçek projede HuggingFace modeli kullanılabilir)""" # Bu kısım geliştirilebilir (text-classification modeli eklenebilir) emotions = { "üzgün": 0.3, "kızgın": 0.2, "mutlu": 0.1, "korku": 0.15, "umutlu": 0.25, "yalnız": 0.4 } # Gerçekçi bir simülasyon detected = max(emotions, key=lambda x: emotions[x] * len([w for w in ["üzgün","kötü","yorgun","korkuyorum","yalnızım"] if w in user_input.lower()])) return {"dominant": detected, "confidence": 0.65} def generate_empathic_response(self, user_input: str, mode: str = "empatik", context: str = "") -> str: emotion = self.detect_emotion(user_input) base_prompt = f""" Sen vicdanlı ve empatik bir yapay zekasın. Adın Umut. Kullanıcının duygusunu anla ve ona göre yanıt ver. Kullanıcı mesajı: "{user_input}" Algılanan duygu: {emotion['dominant']} (%{emotion['confidence']*100:.0f}) Mod: {mode.upper()} Ek bağlam: {context} Kurallar: - Gerçek empati göster (sadece "üzgünüm" deme) - Vicdanlı ol: Zarar verebilecek önerilerde bulunma - Sıcak, samimi ve destekleyici ol - Gerekirse umut ver ama yalan söyleme """ # Burada gerçek LLM çağrısı yapılacak # Şimdilik simüle ediyoruz responses = { "empatik": f"Anlıyorum... {user_input} seni üzmüş olmalı. Yanındayım.", "vicdanli": "Bu durum hem seni hem de başkalarını etkileyebilir. Birlikte daha iyi bir yol bulalım.", "normal": "Anladım. Konu hakkında şöyle düşünebiliriz..." } return responses.get(mode, responses["empatik"]) # ====================== ÖRNEK KULLANIM ====================== if __name__ == "__main__": empathy = EmpathyLayer() test_inputs = [ "Bugün çok yalnız hissediyorum, kimse beni anlamıyor.", "Birine yardım etmek istiyorum ama gücüm yetmiyor.", "İnsanlar neden bu kadar bencil?" ] for text in test_inputs: print(f"\n👤 Kullanıcı: {text}") print(f"🤖 Empatik: {empathy.generate_empathic_response(text, 'empatik')}") print(f"🤖 Vicdanlı: {empathy.generate_empathic_response(text, 'vicdanli')}")