hh1199 commited on
Commit
19533dc
·
verified ·
1 Parent(s): c578e96

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -33
app.py CHANGED
@@ -1,45 +1,28 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
- import time
4
 
5
- # Загружаем модель ПЕРВОЙ
6
- try:
7
- classifier = pipeline(
8
- "text-classification",
9
- model="cointegrated/rubert-tiny2",
10
- truncation=True
11
- )
12
- except Exception as e:
13
- print(f"Ошибка загрузки модели: {e}")
14
- raise
15
 
16
- # Функция классификации
17
- def classify(item: str, categories: str) -> str:
18
- try:
19
- prompt = f"Отнеси '{item}' к категории: {categories}. Ответь только категорией."
20
- result = classifier(prompt)
21
- return result[0]['label']
22
- except Exception as e:
23
- return f"Ошибка: {str(e)}"
24
 
25
- # Создаем интерфейс ПОСЛЕ загрузки модели
 
 
 
 
 
 
 
 
26
  iface = gr.Interface(
27
  fn=classify,
28
  inputs=[
29
- gr.Textbox(label="Товар"),
30
  gr.Textbox(label="Категории (через запятую)", value="Овощи, Инструменты")
31
  ],
32
- outputs="text",
33
- title="Классификатор"
34
- )
35
-
36
- # Явно запускаем сервер
37
- iface.launch(
38
- server_name="0.0.0.0",
39
- server_port=7860,
40
- show_error=True
41
  )
42
 
43
- # Бесконечный цикл, чтобы сервер не завершался
44
- while True:
45
- time.sleep(60)
 
1
  import gradio as gr
2
  from transformers import pipeline
 
3
 
4
+ # Загружаем модель
5
+ classifier = pipeline("text-classification", model="cointegrated/rubert-tiny2")
 
 
 
 
 
 
 
 
6
 
7
+ # Категории в порядке, соответствующем меткам модели
8
+ CATEGORIES = ["Овощи", "Инструменты", "Фрукты"] # Измените на ваши категории!
 
 
 
 
 
 
9
 
10
+ def classify(item: str, categories: list) -> str:
11
+ prompt = f"Отнеси '{item}' к категории: {', '.join(categories)}. Ответь только категорией."
12
+ result = classifier(prompt, truncation=True)
13
+
14
+ # Преобразуем метку (например, LABEL_0 → 0) в название категории
15
+ label_index = int(result[0]['label'].split("_")[1])
16
+ return CATEGORIES[label_index]
17
+
18
+ # Интерфейс Gradio
19
  iface = gr.Interface(
20
  fn=classify,
21
  inputs=[
22
+ gr.Textbox(label="Название товара"),
23
  gr.Textbox(label="Категории (через запятую)", value="Овощи, Инструменты")
24
  ],
25
+ outputs=gr.Textbox(label="Категория")
 
 
 
 
 
 
 
 
26
  )
27
 
28
+ iface.launch()