Spaces:
Running
Running
gradio
Browse files
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import transformers
|
2 |
import torch
|
3 |
import tokenizers
|
4 |
-
import
|
5 |
import re
|
6 |
|
7 |
from PIL import Image
|
@@ -20,7 +20,7 @@ def get_model_t5(model_name,tokenizer_name):
|
|
20 |
return model, tokenizer
|
21 |
|
22 |
|
23 |
-
def predict_gpt(text, model, tokenizer, temperature):
|
24 |
input_ids = tokenizer.encode(text, return_tensors="pt")
|
25 |
with torch.no_grad():
|
26 |
out = model.generate(input_ids,
|
@@ -40,7 +40,7 @@ def predict_gpt(text, model, tokenizer, temperature):
|
|
40 |
generated_text = list(map(decode, out['sequences'])).split('Описание :')[1]
|
41 |
return generated_text
|
42 |
|
43 |
-
def predict_t5(text, model, tokenizer, temperature):
|
44 |
input_ids = tokenizer.encode(text, return_tensors="pt")
|
45 |
with torch.no_grad():
|
46 |
out = model.generate(input_ids,
|
@@ -59,30 +59,27 @@ def predict_t5(text, model, tokenizer, temperature):
|
|
59 |
generated_text = list(map(decode, out['sequences']))[0]
|
60 |
return generated_text
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
gpt_model, gpt_tokenizer = get_model_gpt('mipatov/rugpt3_nb_descr', 'mipatov/rugpt3_nb_descr')
|
63 |
t5_model, t5_tokenizer = get_model_t5('mipatov/rut5_nb_descr', 'mipatov/rut5_nb_descr')
|
64 |
|
65 |
|
66 |
-
option = st.selectbox('Выберите модель', ('GPT', 'T5'))
|
67 |
-
temperature = st.slider(label='Температура', min_value=0.1, max_value=5.0, value=1.0,step = 0.1)
|
68 |
-
|
69 |
-
# st.markdown("\n")
|
70 |
example = ' Название : Super_NB 2001 Gaming;\n Диагональ экрана : 21 " ;\n Разрешение экрана : 1337x228 ;\n Поверхность экрана : матовая ;\n Тип матрицы : nfc ;\n Процессор : CMD processor 7 ядер 16.16 ГГц (46.0 ГГц, в режиме Turbo) ;\n Оперативная память : 28 Гб DDR5 ;\n Тип видеокарты : интегрированный ;\n Видеокарта : qwerty-grafics ;\n SSD : 720 Гб ;\n Wi-Fi : ДА, 802.11 a/b/g/n/ac ;\n Bluetooth : ДА, v5.0 ;\n Кабельная сеть : 10/100/1000 (Gigabit Ethernet) Мбит/с ;\n USB 2.0 : 13 ;\n USB 3.0 : 22 ;\n HDMI : 11 ;\n Операционная система : CMD-shell ;\n Веб-камера : встроенная ;\n Микрофон : есть ;\n Разъем наушники/микрофон : комбинированный разъем ;\n Акустическая система : стереодинамики ;\n Цвет клавиатуры : черный ;\n Цифровой блок клавиатуры : есть ;\n Подсветка клавиш клавиатуры : есть ;\n Тип батареи : Al-Ion ;\n Количество ячеек батареи : 36 cell ;\n Энергоемкость батареи : 176 Wh ;\n Цвет : черный ;\n Размеры : 1.23 х 456 х 78.9 мм ;\n Вес : 19 кг ;\n Гарантия : 322 мес. ;\n Материал корпуса : пластик ;\n Время работы от батареи : 82ч ;\n Кард-ридер : есть WA SD ;'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
-
|
73 |
-
button = st.button('Старт')
|
74 |
|
75 |
-
if button:
|
76 |
-
try:
|
77 |
-
with st.spinner("Пишем описание..."):
|
78 |
-
if option == 'GPT':
|
79 |
-
result = predict_gpt(text, gpt_model, gpt_tokenizer, temperature=temperature)
|
80 |
-
elif option == 'T5':
|
81 |
-
result = predict_t5(text, t5_model, t5_tokenizer, temperature=temperature)
|
82 |
-
else:
|
83 |
-
st.error('Error in selectbox')
|
84 |
-
|
85 |
-
st.text_area(label='', value=result, height=1000)
|
86 |
-
|
87 |
-
except Exception:
|
88 |
-
st.error("Ooooops, something went wrong. Please try again and report to me, tg: @mipatov")
|
|
|
1 |
import transformers
|
2 |
import torch
|
3 |
import tokenizers
|
4 |
+
import gradio as gr
|
5 |
import re
|
6 |
|
7 |
from PIL import Image
|
|
|
20 |
return model, tokenizer
|
21 |
|
22 |
|
23 |
+
def predict_gpt(text, model, tokenizer, temperature=1.0):
|
24 |
input_ids = tokenizer.encode(text, return_tensors="pt")
|
25 |
with torch.no_grad():
|
26 |
out = model.generate(input_ids,
|
|
|
40 |
generated_text = list(map(decode, out['sequences'])).split('Описание :')[1]
|
41 |
return generated_text
|
42 |
|
43 |
+
def predict_t5(text, model, tokenizer, temperature=1.2):
|
44 |
input_ids = tokenizer.encode(text, return_tensors="pt")
|
45 |
with torch.no_grad():
|
46 |
out = model.generate(input_ids,
|
|
|
59 |
generated_text = list(map(decode, out['sequences']))[0]
|
60 |
return generated_text
|
61 |
|
62 |
+
def generate(model,text):
|
63 |
+
if model == 'GPT':
|
64 |
+
result = predict_gpt(text, gpt_model, gpt_tokenizer)
|
65 |
+
elif model == 'T5':
|
66 |
+
result = predict_t5(text, t5_model, t5_tokenizer)
|
67 |
+
return result
|
68 |
+
|
69 |
+
|
70 |
gpt_model, gpt_tokenizer = get_model_gpt('mipatov/rugpt3_nb_descr', 'mipatov/rugpt3_nb_descr')
|
71 |
t5_model, t5_tokenizer = get_model_t5('mipatov/rut5_nb_descr', 'mipatov/rut5_nb_descr')
|
72 |
|
73 |
|
|
|
|
|
|
|
|
|
74 |
example = ' Название : Super_NB 2001 Gaming;\n Диагональ экрана : 21 " ;\n Разрешение экрана : 1337x228 ;\n Поверхность экрана : матовая ;\n Тип матрицы : nfc ;\n Процессор : CMD processor 7 ядер 16.16 ГГц (46.0 ГГц, в режиме Turbo) ;\n Оперативная память : 28 Гб DDR5 ;\n Тип видеокарты : интегрированный ;\n Видеокарта : qwerty-grafics ;\n SSD : 720 Гб ;\n Wi-Fi : ДА, 802.11 a/b/g/n/ac ;\n Bluetooth : ДА, v5.0 ;\n Кабельная сеть : 10/100/1000 (Gigabit Ethernet) Мбит/с ;\n USB 2.0 : 13 ;\n USB 3.0 : 22 ;\n HDMI : 11 ;\n Операционная система : CMD-shell ;\n Веб-камера : встроенная ;\n Микрофон : есть ;\n Разъем наушники/микрофон : комбинированный разъем ;\n Акустическая система : стереодинамики ;\n Цвет клавиатуры : черный ;\n Цифровой блок клавиатуры : есть ;\n Подсветка клавиш клавиатуры : есть ;\n Тип батареи : Al-Ion ;\n Количество ячеек батареи : 36 cell ;\n Энергоемкость батареи : 176 Wh ;\n Цвет : черный ;\n Размеры : 1.23 х 456 х 78.9 мм ;\n Вес : 19 кг ;\n Гарантия : 322 мес. ;\n Материал корпуса : пластик ;\n Время работы от батареи : 82ч ;\n Кард-ридер : есть WA SD ;'
|
75 |
+
demo = gr.Interface(
|
76 |
+
fn=generate,
|
77 |
+
inputs=[
|
78 |
+
gr.components.Dropdown(label="Модель", choices=('GPT', 'T5')),
|
79 |
+
gr.components.Textbox(label="Характеристики ноутбука",value = example,lines = example.count('\n')),
|
80 |
+
],
|
81 |
+
outputs=["text"],
|
82 |
+
)
|
83 |
|
84 |
+
demo.launch()
|
|
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|