Spaces:
Sleeping
Sleeping
| 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']}") |