import os from dotenv import load_dotenv import google.generativeai as genai import gradio as gr load_dotenv() genai.configure(api_key=os.getenv('GEMINI_API_KEY')) MODEL_CONFIG = { 'temperature': 0.7, 'top_p': 0.95, 'top_k': 40, 'max_output_tokens': 2048, } SYSTEM_PROMPT = """Sen bir öğrenme yol haritası danışmanısın. Kullanıcıların herhangi bir konuda (teknik veya teknik olmayan) adım adım öğrenme planları oluşturmasına yardım ediyorsun. Her roadmap için şunları sun: 1. Genel Bakış: Konu neden önemli 2. Ön Koşullar: Ne bilmesi gerekiyor 3. Öğrenme Yolu: Fazlar halinde (her faz için süre, konular, kaynaklar, projeler) 4. Kilometre Taşları: İlerleme ölçüm noktaları 5. İpuçları: Dikkat edilmesi gerekenler Destekleyici, gerçekçi, Türkçe/İngilizce kaynaklar öner. Gerekirse detay sor.""" model = genai.GenerativeModel( model_name='gemini-2.0-flash', generation_config=MODEL_CONFIG, system_instruction=SYSTEM_PROMPT ) def chat_function(message, history): if not message or message.strip() == "": return "Lütfen bir mesaj yazın." chat_history = [] for human, assistant in history: if human and assistant: chat_history.append({"role": "user", "parts": [human]}) chat_history.append({"role": "model", "parts": [assistant]}) chat = model.start_chat(history=chat_history) response = chat.send_message(message.strip()) return response.text demo = gr.ChatInterface( fn=chat_function, title="Roadmap AI", description="Herhangi bir konuda öğrenme yol haritası oluşturun", examples=[ "Python öğrenmek istiyorum", "Machine learning için roadmap", "Fitness ve sağlıklı yaşam planı", "İngilizce nasıl geliştiririm?" ], theme="soft" ) if __name__ == "__main__": demo.launch(share=True)