Spaces:
Sleeping
Sleeping
File size: 1,510 Bytes
caf4318 3d07812 caf4318 64f605f caf4318 1ea9c5f caf4318 b4e675c caf4318 b4e675c caf4318 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
from transformers import pipeline
def get_classifier():
classifier = pipeline(
"zero-shot-classification",
model="sberbank-ai/rugpt3small_based_on_gpt2",
framework="pt"
)
return classifier
def classify_email(text):
classifier = get_classifier()
candidate_labels = [
"Клиент хочет назначить встречу",
"Клиент не заинтересован или отказывается",
"Клиент задаёт уточняющие вопросы"
]
result = classifier(
text,
candidate_labels,
hypothesis_template="Это письмо о том, что {}."
)
# Получаем индекс наиболее вероятной метки (0, 1 или 2)
label_index = result["labels"].index(result["labels"][0])
# Возвращаем категорию (1, 2 или 3) и уверенность
return {
"category": label_index + 1,
"confidence": result["scores"][label_index],
"label": result["labels"][0]
}
# Пример использования
if __name__ == "__main__":
test_text = "Добрый день! Можно ли узнать подробнее о ваших услугах и ценах?"
result = classify_email(test_text)
print(f"Категория: {result['category']}")
print(f"Уверенность: {result['confidence']:.2f}")
print(f"Метка: {result['label']}") |