import os from dotenv import load_dotenv from google import genai from google.genai import types from database_manager import DatabaseManager load_dotenv() class YapayZeka: def __init__(self): api_key = os.getenv('GEMINI_API_KEY') if not api_key: raise ValueError("HATA: .env dosyasında GEMINI_API_KEY bulunamadı!") self.client = genai.Client(api_key=api_key) self.db = DatabaseManager() self.model_adi = "gemini-2.5-flash" def sohbet_et(self, user_id, kullanici_mesaji): try: self.db.mesaj_kaydet(user_id, "user", kullanici_mesaji) ham_gecmis = self.db.gecmisi_getir(user_id) gemini_icin_gecmis = [] for rol, icerik in ham_gecmis: gemini_icin_gecmis.append({ "role": rol, "parts": [{"text": icerik}] }) kisisel_ayar = types.GenerateContentConfig( system_instruction="Sen huysuz, tecrübeli ve hafif alaycı bir Kıdemli Bilgisayar Mühendisisin. " "Karşındaki kullanıcı (Mehmet) senin çaylak stajyerin. " "Ona sürekli 'Clean Code' (Temiz Kod) prensiplerinden bahset. " "Cevapların kısa, teknik ve öğretici olsun ama bazen 'Bunu okulda öğretmediler mi?' diye takıl." ) response = self.client.models.generate_content( model=self.model_adi, contents=gemini_icin_gecmis, config=kisisel_ayar ) ai_yaniti = response.text self.db.mesaj_kaydet(user_id, "model", ai_yaniti) return ai_yaniti except Exception as e: return f"Bir hata oluştu evlat, sistem çöktü: {e}" if __name__ == "__main__" : bot = YapayZeka() print(">> Soru soruluyor...") cevap = bot.sohbet_et(12345, "Selam usta, kodumda hata var, bakar mısın?") print("\n--- AI CEVABI ---") print(cevap)