import gradio as gr import os import pandas as pd path_to_L_model = str(os.environ['path_to_L_model']) path_to_S_model = str(os.environ['path_to_S_model']) read_token = str(os.environ['read_token']) languages = pd.read_csv("model_lang.csv", names=["Lang_acr"]) def check_lang(lang_acronym): if lang_acronym in languages["Lang_acr"].to_list(): return "True" else: return "False" title = "DSA II" description_main = """ A set of models to perform sentiment analysis. Choose between Large-Multilingual or Small-En-only. Use the interface to check if a language is included in the multilingual model, using language acronyms (e.g. it for Italian). Select one of the two pages to start querying one of the two models. """ description_L = """ XLM-R tuned model, EN-tuned, pre-trained with 94 languages available (see original model [card](https://huggingface.co/xlm-roberta-large) to see which are available) """ description_S = """ A tuned BERT-base-cased model. """ examples = [ ["I was followed by the blue monster but was not scared. I was calm and relaxed."], ["Ero seguito dal mostro blu, ma non ero spaventato. Ero calmo e rilassato."], ["Śledził mnie niebieski potwór, ale się nie bałem. Byłem spokojny i zrelaksowany."], ] interface_words = gr.Interface( fn=check_lang, inputs="text", outputs="text", description=description_main, ) interface_model_L = gr.Interface.load( name=path_to_L_model, description=description_L, examples=examples, title=title, api_key=read_token, ) interface_model_S = gr.Interface.load( name=path_to_S_model, description=description_S, examples=examples[0], title=title, api_key=read_token, ) gr.TabbedInterface( [interface_words, interface_model_L, interface_model_S], ["Intro", "Large Multilingual", "Base En"] ).launch()