Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,28 +1,22 @@
|
|
1 |
-
import
|
2 |
-
|
3 |
|
4 |
-
|
|
|
5 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
6 |
-
model =
|
7 |
|
8 |
-
|
|
|
9 |
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
14 |
-
1 — человек хочет встретиться (предлагает даты или спрашивает когда удобно)
|
15 |
-
2 — человек отказывается, говорит "не интересно", "спасибо, не нужно"
|
16 |
-
3 — человек задаёт уточняющие вопросы, но не даёт согласия или отказа
|
17 |
|
18 |
-
|
19 |
-
{
|
20 |
-
|
21 |
-
Ответ:"""
|
22 |
-
result = pipe(prompt)[0]['generated_text']
|
23 |
-
for token in ['1', '2', '3']:
|
24 |
-
if token in result:
|
25 |
-
return token
|
26 |
-
return "?"
|
27 |
-
|
28 |
-
gr.Interface(fn=classify_email, inputs="text", outputs="text", title="Классификация писем").launch()
|
|
|
1 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
|
2 |
+
import torch
|
3 |
|
4 |
+
# Загрузка модели и токенизатора
|
5 |
+
model_id = "beyond/roberta-base-email-intent-classifier"
|
6 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
7 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_id)
|
8 |
|
9 |
+
# pipeline с device="cpu" (или "cuda:0" если есть GPU)
|
10 |
+
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer, device=0 if torch.cuda.is_available() else -1)
|
11 |
|
12 |
+
# Пример: классификация писем
|
13 |
+
emails = [
|
14 |
+
"Спасибо за ваше письмо. Давайте созвонимся в пятницу.",
|
15 |
+
"К сожалению, мы не готовы сотрудничать в этом направлении.",
|
16 |
+
"А подскажите, пожалуйста, как вы работаете с B2B и есть ли у вас кейсы в финансовой сфере?"
|
17 |
+
]
|
18 |
|
19 |
+
results = classifier(emails)
|
|
|
|
|
|
|
20 |
|
21 |
+
for email, res in zip(emails, results):
|
22 |
+
print(f"Email: {email}\n→ Predicted intent: {res['label']} (confidence: {res['score']:.2f})\n")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|