iclalcetin commited on
Commit
6e49225
1 Parent(s): 4041c6b

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
+
5
+ # Model ve Tokenizer Yükleme
6
+ model_name = "microsoft/DialoGPT-medium" # Alternatif olarak başka bir model de seçebilirsiniz
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+
10
+ # Chat Fonksiyonu
11
+ def chatbot_response(input_text, chat_history=[]):
12
+ # Kullanıcı girdisini encode et
13
+ new_user_input_ids = tokenizer.encode(input_text + tokenizer.eos_token, return_tensors='pt')
14
+
15
+ # Önceki sohbet geçmişi ile birleştir
16
+ bot_input_ids = torch.cat([torch.LongTensor(chat_history)] + [new_user_input_ids], dim=-1) if chat_history else new_user_input_ids
17
+
18
+ # Model ile yanıt üret
19
+ chat_history = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
20
+
21
+ # Yanıtı decode et
22
+ output = tokenizer.decode(chat_history[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)
23
+
24
+ # Sohbet geçmişini güncelle
25
+ chat_history = chat_history.tolist()
26
+
27
+ return output, chat_history
28
+
29
+ # Gradio Arayüzü
30
+ with gr.Blocks() as demo:
31
+ chatbot = gr.Chatbot(label="AI ChatBot")
32
+ state = gr.State([]) # Sohbet geçmişini tutmak için bir state
33
+ with gr.Row():
34
+ with gr.Column(scale=1):
35
+ txt = gr.Textbox(show_label=False, placeholder="Type your message...") # Mesaj giriş kutusu
36
+
37
+ # Girdi gönderildiğinde çalışacak işlev
38
+ def submit_message(user_input, chat_history):
39
+ output, chat_history = chatbot_response(user_input, chat_history)
40
+ chat_history.append((user_input, output))
41
+ return chat_history, chat_history
42
+
43
+ # Girdiyi işleme ve güncelleme
44
+ txt.submit(submit_message, [txt, state], [chatbot, state])
45
+
46
+ # Uygulamayı Çalıştır
47
+ demo.launch()