import gradio as gr from setfit import AbsaModel # Load the ABSA model (assuming indo-setfit-absa-bert-base-restaurants is the aspect extraction model) model = AbsaModel.from_pretrained( "firqaaa/indo-setfit-absa-bert-base-restaurants-aspect", "firqaaa/indo-setfit-absa-bert-base-restaurants-polarity", spacy_model="id_core_news_trf", ) def analyze_text(text): """ Analyzes the input text using the ABSA model and returns aspects and sentiment. Args: text: The text to be analyzed. Returns: A dictionary containing aspects and sentiment. """ aspects, sentiments = model.predict(text) return {"Aspek": aspects, "Sentimen": sentiments} description = "Analisa Aspek dan Sentimen Review Restoran" title = "Analisa Review Restoran Anda" examples = [["Makanannya enak, tapi pelayanannya lambat."]] interface = gr.Interface( fn=analyze_text, inputs="textbox", outputs="dict", interpretation="text", description=description, title=title, examples=examples ) interface.launch()