dejanseo commited on
Commit
f56ff9e
·
verified ·
1 Parent(s): 2f8c340

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -28
app.py CHANGED
@@ -61,39 +61,47 @@ if uploaded_file is not None:
61
  file_content = uploaded_file.read().decode("utf-8")
62
  queries.extend([line.strip() for line in file_content.splitlines() if line.strip()])
63
 
64
- if st.button("Класифицирай"):
 
 
 
 
 
 
 
65
  if queries:
66
- # Tokenize in batch
67
- inputs = tokenizer(
68
- queries,
69
- return_tensors="pt",
70
- truncation=True,
71
- padding=True,
72
- max_length=256
73
- )
 
74
 
75
- # Run inference
76
- with torch.no_grad():
77
- outputs = model(**inputs)
78
 
79
- logits = outputs.logits
80
- predictions = logits.argmax(dim=-1).tolist()
81
- probabilities = F.softmax(logits, dim=-1)
82
- confidence_scores = probabilities.max(dim=-1).values.tolist()
83
 
84
- # Използване на наличната label mapping от модела
85
- id2label = model.config.id2label
86
 
87
- results = []
88
- for query, pred, conf in zip(queries, predictions, confidence_scores):
89
- predicted_label = id2label.get(str(pred), id2label.get(pred, "Неизвестно"))
90
- results.append({
91
- "Заявка": query,
92
- "Предсказано намерение": predicted_label,
93
- "Доверие": f"{conf:.2f}"
94
- })
95
 
96
- st.write("### Резултати:")
97
- st.table(results)
98
  else:
99
  st.warning("Моля, въведете поне една заявка, преди да класифицирате.")
 
61
  file_content = uploaded_file.read().decode("utf-8")
62
  queries.extend([line.strip() for line in file_content.splitlines() if line.strip()])
63
 
64
+ # UI for button with spinner
65
+ button_disabled = False
66
+ if queries:
67
+ button_disabled = False
68
+ else:
69
+ button_disabled = True
70
+
71
+ if st.button("Класифицирай", disabled=button_disabled):
72
  if queries:
73
+ with st.spinner("Обработване..."):
74
+ # Tokenize in batch
75
+ inputs = tokenizer(
76
+ queries,
77
+ return_tensors="pt",
78
+ truncation=True,
79
+ padding=True,
80
+ max_length=256
81
+ )
82
 
83
+ # Run inference
84
+ with torch.no_grad():
85
+ outputs = model(**inputs)
86
 
87
+ logits = outputs.logits
88
+ predictions = logits.argmax(dim=-1).tolist()
89
+ probabilities = F.softmax(logits, dim=-1)
90
+ confidence_scores = probabilities.max(dim=-1).values.tolist()
91
 
92
+ # Използване на наличната label mapping от модела
93
+ id2label = model.config.id2label
94
 
95
+ results = []
96
+ for query, pred, conf in zip(queries, predictions, confidence_scores):
97
+ predicted_label = id2label.get(str(pred), id2label.get(pred, "Неизвестно"))
98
+ results.append({
99
+ "Заявка": query,
100
+ "Предсказано намерение": predicted_label,
101
+ "Доверие": f"{conf:.2f}"
102
+ })
103
 
104
+ st.write("### Резултати:")
105
+ st.dataframe(results, use_container_width=True)
106
  else:
107
  st.warning("Моля, въведете поне една заявка, преди да класифицирате.")