Spaces:
Sleeping
Sleeping
import streamlit as st | |
import torch | |
from transformers import AutoTokenizer, AutoModelForCausalLM | |
def load_model(): | |
model_path = "missantroop/CorebotClassifier" # Substitua pelo caminho do seu modelo | |
tokenizer = AutoTokenizer.from_pretrained(model_path) | |
model = AutoModelForCausalLM.from_pretrained( | |
model_path, torch_dtype=torch.float32, device_map="cpu" | |
) | |
return tokenizer, model | |
# Função para classificar texto | |
def classify_lyrics(model, tokenizer, text): | |
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=512) | |
outputs = model.generate(**inputs, max_new_tokens=50) | |
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
return generated_text | |
# Interface Streamlit | |
st.title("Classificador de Letras de Metal") | |
st.write("Carregue uma letra de música para classificação.") | |
# Input do usuário | |
lyrics = st.text_area("Insira a letra da música aqui", height=200) | |
if st.button("Classificar"): | |
if lyrics.strip(): | |
st.write("Carregando modelo...") | |
tokenizer, model = load_model() | |
st.write("Modelo carregado! Classificando...") | |
try: | |
result = classify_lyrics(model, tokenizer, lyrics) | |
st.success("Classificação concluída!") | |
st.write(f"**Resultado da classificação:** {result}") | |
except Exception as e: | |
st.error(f"Erro ao classificar: {str(e)}") | |
else: | |
st.warning("Por favor, insira uma letra antes de classificar.") | |