hh1199 commited on
Commit
86bd5a4
·
verified ·
1 Parent(s): 3698017

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -8
app.py CHANGED
@@ -1,21 +1,43 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- classifier = pipeline("zero-shot-classification", model="cointegrated/rubert-tiny2")
 
 
 
 
5
 
6
  def classify(item: str, categories: str) -> str:
 
 
 
7
  categories_list = [c.strip() for c in categories.split(",")]
8
- result = classifier(item, categories_list, multi_label=False)
9
- return result['labels'][0]
10
- #return classifier("Молоток")
 
 
 
 
 
 
 
11
 
12
  iface = gr.Interface(
13
  fn=classify,
14
  inputs=[
15
- gr.Textbox(label="Название товара"),
16
- gr.Textbox(label="Категории (через запятую)", value="Морковка, Техника, Овощи, Инструменты")
 
 
 
 
 
 
 
17
  ],
18
- outputs=gr.Textbox(label="Категория")
 
19
  )
20
 
21
- iface.launch()
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ classifier = pipeline(
5
+ "zero-shot-classification",
6
+ model="cointegrated/rubert-tiny2",
7
+ device=-1 # Используем CPU для стабильности на бесплатных инстансах
8
+ )
9
 
10
  def classify(item: str, categories: str) -> str:
11
+ # Формируем гипотезу для классификации
12
+ hypothesis_template = "Этот текст относится к категории {}."
13
+
14
  categories_list = [c.strip() for c in categories.split(",")]
15
+
16
+ result = classifier(
17
+ item,
18
+ candidate_labels=categories_list,
19
+ hypothesis_template=hypothesis_template,
20
+ multi_label=False
21
+ )
22
+
23
+ # Возвращаем категорию с наибольшим скором
24
+ return f"{result['labels'][0]} (уверенность: {result['scores'][0]:.2f})"
25
 
26
  iface = gr.Interface(
27
  fn=classify,
28
  inputs=[
29
+ gr.Textbox(label="Название товара", placeholder="Введите наименование товара"),
30
+ gr.Textbox(label="Категории (через запятую)",
31
+ value="Овощи, Инструменты, Техника, Упаковка")
32
+ ],
33
+ outputs=gr.Textbox(label="Результат классификации"),
34
+ examples=[
35
+ ["Молоток", "Овощи, Инструменты, Техника"],
36
+ ["Свекла", "Фрукты, Овощи, Ягоды"],
37
+ ["Ноутбук", "Техника, Мебель, Инструменты"]
38
  ],
39
+ title="Классификатор товаров",
40
+ description="Введите название товара и список категорий через запятую"
41
  )
42
 
43
+ iface.launch(debug=True)