DakMak commited on
Commit
ea7ec85
1 Parent(s): 513d6c9

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoModelForCausalLM, AutoTokenizer
2
+ import torch
3
+ import gradio as gr
4
+
5
+ # Загрузка модели DialoGPT и токенизатора
6
+ model_name = "microsoft/DialoGPT-large"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+
10
+ # Функция, которая генерирует ответ на основе входного текста
11
+ def generate_response(prompt):
12
+ # Преобразование входного текста в токены
13
+ input_ids = tokenizer.encode(prompt + tokenizer.eos_token, return_tensors="pt")
14
+
15
+ # Генерация ответа на основе входных токенов
16
+ chat_response = model.generate(
17
+ input_ids,
18
+ max_length=1000,
19
+ pad_token_id=tokenizer.eos_token_id,
20
+ do_sample=True,
21
+ top_k=50,
22
+ top_p=0.95,
23
+ temperature=0.8,
24
+ no_repeat_ngram_size=2
25
+ )
26
+
27
+ # Декодирование ответа из токенов в текст
28
+ response = tokenizer.decode(chat_response[0], skip_special_tokens=True)
29
+
30
+ return response
31
+
32
+ # Создание интерфейса с помощью Gradio
33
+ inputs = gr.inputs.Textbox(lines=7, label="Введите сообщение")
34
+ outputs = gr.outputs.Textbox(label="Ответ")
35
+
36
+ title = "Chat.UI на основе DialoGPT"
37
+ description = "Простой чат на основе модели DialoGPT из библиотеки transformers"
38
+ examples = [
39
+ ["Привет, как дела?"],
40
+ ["Что ты думаешь о новом фильме?"]
41
+ ]
42
+
43
+ chat_interface = gr.Interface(
44
+ fn=generate_response,
45
+ inputs=inputs,
46
+ outputs=outputs,
47
+ title=title,
48
+ description=description,
49
+ examples=examples
50
+ )
51
+
52
+ # Запуск интерфейса
53
+ chat_interface.launch()