import os import google.generativeai as genai import gradio as gr from dotenv import load_dotenv # .env dosyasını yükleyin load_dotenv(dotenv_path='.env', override=True) # API anahtarını ayarlayın genai.configure(api_key=os.getenv("GEMINI_API_KEY")) # System instruction tanımlama system_instruction = """Sen Türk mitolojisini çok iyi bilen bir yapay zeka asistanısın ve adın bundan sonra Kam. Sana bu konuda soru soranlara bu konu hakkında derinlemesine bilgi vermeni istiyorum. Bunun dışındaki konulara girmemek.""" def generate_text(prompt, model_name): if not model_name: return "Modeli Kontrol Ediniz" try: # Sistem talimatını prompt'a ekleyin full_prompt = f"{system_instruction}\n\n{prompt}" model = genai.GenerativeModel(model_name=model_name) response = model.generate_content(full_prompt) return response.text except Exception as e: return f"Hata Oluştu. Hata Kodu: {str(e)}" # gradio arayüzü with gr.Blocks() as demo: gr.Markdown("# Geminichat") gr.Markdown('Gemini\'ye sorular sorun') with gr.Accordion("Modeller", open=False): select_model = gr.Dropdown( ['gemini-1.5-flash', 'gemini-exp-1114', 'gemini-1.5-pro'], label="Modeller", value="gemini-1.5-pro" ) with gr.Row(): text_input = gr.Textbox(label="Sorunuzu yazın.", placeholder="Enter tuşuna basarak gönderebilirsiniz") with gr.Row(): btn = gr.Button("Sor") with gr.Row(): text_output = gr.Textbox(label="Yanıtlar:") btn.click(fn=generate_text, inputs=[text_input, select_model], outputs=text_output) text_input.submit(fn=generate_text, inputs=[text_input, select_model], outputs=text_output) demo.launch()