Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
if queries:
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
|
84 |
-
|
85 |
-
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
|
96 |
-
|
97 |
-
|
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("Моля, въведете поне една заявка, преди да класифицирате.")
|