File size: 1,807 Bytes
f171d51
7b20552
 
f171d51
 
7b20552
 
f171d51
7b20552
 
f171d51
7b20552
 
f171d51
7b20552
 
 
 
 
 
 
 
 
 
 
f171d51
7b20552
f171d51
7b20552
 
 
 
 
 
 
 
f171d51
7b20552
 
 
 
 
 
 
 
 
f171d51
7b20552
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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()