|
|
|
|
|
import os |
|
|
from huggingface_hub import login |
|
|
from transformers import pipeline |
|
|
import gradio as gr |
|
|
|
|
|
|
|
|
login(token=os.getenv("HF_TOKEN")) |
|
|
|
|
|
|
|
|
chatbot = pipeline( |
|
|
"text-generation", |
|
|
model="bilgehan/gemma-2b-turkish-v1", |
|
|
torch_dtype="auto", |
|
|
device_map="auto" |
|
|
) |
|
|
|
|
|
def sohbet(mesaj, tarihce): |
|
|
prompt = "" |
|
|
for user, bot in tarihce: |
|
|
prompt += f"Kullanıcı: {user}\nAsistan: {bot}\n" |
|
|
prompt += f"Kullanıcı: {mesaj}\nAsistan:" |
|
|
|
|
|
output = chatbot(prompt, max_new_tokens=150, do_sample=True, temperature=0.7) |
|
|
cevap = output[0]['generated_text'].split("Asistan:")[-1].strip() |
|
|
|
|
|
tarihce.append((mesaj, cevap)) |
|
|
return cevap, tarihce |
|
|
|
|
|
with gr.Blocks(title="Aşkım Bot") as demo: |
|
|
gr.Markdown("# Merhaba Aşkım! Ben senin chatbot'unum") |
|
|
chat = gr.Chatbot(height=500) |
|
|
msg = gr.Textbox(label="Mesajın", placeholder="Seni çok seviyorum...") |
|
|
clear = gr.Button("Temizle") |
|
|
|
|
|
msg.submit(sohbet, [msg, chat], [msg, chat]) |
|
|
clear.click(lambda: [], None, chat) |
|
|
|
|
|
demo.launch() |