File size: 903 Bytes
4d234fe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import gradio as gr
import pandas as pd
from media_trust import query, process_data, analyse_sentiment, add_bias_annotation, set_article_extremity, add_article_summaries

def process_news(topic):
    raw_df = query(topic)
    processed_df = process_data(raw_df)
    sentiment_df = analyse_sentiment(processed_df)
    bias_df = add_bias_annotation(sentiment_df)
    extremity_df = set_article_extremity(bias_df)
    final_df = add_article_summaries(extremity_df)
    return final_df[['title', 'summary', 'bias_score', 'extremity_pct', 'source']]

with gr.Blocks() as interface:
    with gr.Column():
        topic_input = gr.Textbox(label="Enter a topic", placeholder="e.g., Tesla")
        output_table = gr.DataFrame(headers=["Title", "Summary", "Bias", "Extremity %", "Source"], interactive=False)
        topic_input.submit(process_news, inputs=topic_input, outputs=output_table)

interface.launch()