Spaces:
Paused
Paused
| 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) | |