import gradio as gr from transformers import AutoModelForSequenceClassification import torch from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("somosnlp/bertin_base_climate_detection_spa_v2") model = AutoModelForSequenceClassification.from_pretrained("somosnlp/bertin_base_climate_detection_spa_v2") id2label = {0: "NEGATIVE", 1: "POSITIVE"} label2id = {"NEGATIVE": 0, "POSITIVE": 1} def inference_fun(Texto): inputs = tokenizer(Texto, return_tensors="pt", truncation=True) with torch.no_grad(): logits = model(**inputs).logits predicted_class_id = logits.argmax().item() output_tag = model.config.id2label[predicted_class_id] output_logit = logits return output_tag, output_logit examples = [ [ "Los gases refrigerantes fluorados son potentes gases de efecto invernadero. Las alternativas, como el amoniaco o el dióxido de carbono capturado, pueden sustituirlos con el tiempo." ], [ "En la química de coordinación, un ligando es un ión o molécula (o grupo funcional) que se une a un átomo metálico central para formar un complejo de coordinación. El enlace entre el metal y el ligando generalmente involucra la donación de uno o más pares de electrones del ligando. La naturaleza del enlace metal-ligando oscila entre el enlace covalente y el enlace iónico.Además, el orden de enlace metal-ligando puede variar de uno a tres. Los ligandos se consideran bases de Lewis, aunque se conocen casos raros de ""ligandos"" ácidos de Lewis.." ], [ "El uso excesivo de fertilizantes nitrogenados -un fenómeno frecuente en la agricultura- da lugar a la producción de óxido nitroso, un potente gas de efecto invernadero. Un uso más juicioso de los fertilizantes puede frenar estas emisiones y reducir la producción de fertilizantes, que consume mucha energía." ] ] description = "En la siguiente interfaz puedes introducir un texto cualquiera, luego puedes dar click en submit y devolverá una etiqueta de POSITIVO: para un texto que aborde temas de cambio climatico y NEGATIVO: para un texto en general que no hable de estos temas" iface = gr.Interface(fn=inference_fun, inputs="text", outputs=["label", "text"], examples=examples, description=description) iface.launch()