import os # Установите переменные окружения для Hugging Face os.environ['TRANSFORMERS_CACHE'] = '/tmp/.cache/huggingface/' os.environ['HF_HOME'] = '/tmp/.cache/huggingface' import streamlit as st from transformers import AutoModelForSequenceClassification, AutoTokenizer import torch # Задайте название модели model_name = "demail/News_bert" # Замените на ваше имя пользователя и название модели # Загрузка модели и токенизатора model = AutoModelForSequenceClassification.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained('DeepPavlov/rubert-base-cased') # Интерфейс Streamlit class_names = ["мода", "спорт", "технологии", "финансы", "крипта"] # Обновите на свои названия классов # Интерфейс Streamlit st.title("Модель Hugging Face в Streamlit") input_text = st.text_area("Введите текст для классификации:") if st.button("Классифицировать"): inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True) with torch.no_grad(): outputs = model(**inputs) # Получаем предсказанные логиты и применяем softmax для получения вероятностей probs = torch.nn.functional.softmax(outputs.logits, dim=-1) predicted_class = probs.argmax().item() # Получаем название класса и вероятности в процентах class_name = class_names[predicted_class] probabilities = [f"{prob.item() * 100:.2f}%" for prob in probs[0]] # Выводим результат st.write(f"Предсказанный класс: {class_name}") st.write("Вероятности классов:") for i, prob in enumerate(probabilities): st.write(f"{class_names[i]}: {prob}")