Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -21,12 +21,12 @@ try:
|
|
21 |
train_texts, test_texts, train_labels, test_labels = train_test_split(
|
22 |
texts, numerical_labels, test_size=0.2, random_state=42, stratify=numerical_labels
|
23 |
)
|
24 |
-
print("Datensatz 'banking77' erfolgreich geladen.")
|
25 |
except Exception as e:
|
26 |
print(f"Fehler beim Laden des Datensatzes: {e}")
|
27 |
label_names = ["Fehler beim Laden"]
|
28 |
pipeline = None
|
29 |
-
print("Modell wird nicht trainiert, da der Datensatz nicht geladen werden konnte.")
|
30 |
|
31 |
# 2. Trainieren des Modells (einmalig beim Start)
|
32 |
if 'pipeline' not in locals() or pipeline is None:
|
@@ -36,18 +36,18 @@ if 'pipeline' not in locals() or pipeline is None:
|
|
36 |
('classifier', LogisticRegression(solver='liblinear', multi_class='ovr', random_state=42))
|
37 |
])
|
38 |
pipeline.fit(train_texts, train_labels)
|
39 |
-
print("Modell erfolgreich trainiert.")
|
40 |
except Exception as e:
|
41 |
print(f"Fehler beim Trainieren des Modells: {e}")
|
42 |
pipeline = None
|
43 |
-
print("Modell konnte nicht trainiert werden.")
|
44 |
|
45 |
# 3. Funktion für die Vorhersage
|
46 |
def predict_intent(text):
|
47 |
if pipeline is not None and len(label_names) > 0:
|
48 |
try:
|
49 |
prediction = pipeline.predict([text])[0]
|
50 |
-
predicted_label = label_names[prediction]
|
51 |
probabilities = pipeline.predict_proba([text])[0]
|
52 |
confidences = {label_names[i]: f"{probabilities[i]:.2f}" for i in range(len(label_names))}
|
53 |
return predicted_label, confidences
|
|
|
21 |
train_texts, test_texts, train_labels, test_labels = train_test_split(
|
22 |
texts, numerical_labels, test_size=0.2, random_state=42, stratify=numerical_labels
|
23 |
)
|
24 |
+
print("Datensatz 'banking77' erfolgreich geladen.")
|
25 |
except Exception as e:
|
26 |
print(f"Fehler beim Laden des Datensatzes: {e}")
|
27 |
label_names = ["Fehler beim Laden"]
|
28 |
pipeline = None
|
29 |
+
print("Modell wird nicht trainiert, da der Datensatz nicht geladen werden konnte.")
|
30 |
|
31 |
# 2. Trainieren des Modells (einmalig beim Start)
|
32 |
if 'pipeline' not in locals() or pipeline is None:
|
|
|
36 |
('classifier', LogisticRegression(solver='liblinear', multi_class='ovr', random_state=42))
|
37 |
])
|
38 |
pipeline.fit(train_texts, train_labels)
|
39 |
+
print("Modell erfolgreich trainiert.")
|
40 |
except Exception as e:
|
41 |
print(f"Fehler beim Trainieren des Modells: {e}")
|
42 |
pipeline = None
|
43 |
+
print("Modell konnte nicht trainiert werden.")
|
44 |
|
45 |
# 3. Funktion für die Vorhersage
|
46 |
def predict_intent(text):
|
47 |
if pipeline is not None and len(label_names) > 0:
|
48 |
try:
|
49 |
prediction = pipeline.predict([text])[0]
|
50 |
+
predicted_label = label_names[prediction] # Korrektur: String-Label abrufen
|
51 |
probabilities = pipeline.predict_proba([text])[0]
|
52 |
confidences = {label_names[i]: f"{probabilities[i]:.2f}" for i in range(len(label_names))}
|
53 |
return predicted_label, confidences
|