Alphawolf456 commited on
Commit
c718658
Β·
verified Β·
1 Parent(s): b97f9bf

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. .gradio/certificate.pem +31 -0
  2. app.py +83 -0
  3. requirements.txt +4 -0
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
31
+ -----END CERTIFICATE-----
app.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py β€” Beautiful web UI with Gradio
2
+
3
+ import gradio as gr
4
+ from transformers import pipeline
5
+
6
+ MODEL_PATH = "fabriceyhc/bert-base-uncased-ag_news"
7
+
8
+ LABELS = {
9
+ "LABEL_0": "🌍 World News",
10
+ "LABEL_1": "⚽ Sports",
11
+ "LABEL_2": "πŸ’Ό Business",
12
+ "LABEL_3": "πŸ’» Sci / Tech"
13
+ }
14
+
15
+ # Load model once
16
+ print("Loading model...")
17
+ classifier = pipeline(
18
+ "text-classification",
19
+ model=MODEL_PATH,
20
+ return_all_scores=True
21
+ )
22
+
23
+ def classify_article(text):
24
+ if not text.strip():
25
+ return {}, "Please enter some text!"
26
+
27
+ results = classifier(text)
28
+
29
+ # Fix: handle both list-of-list and list-of-dict formats
30
+ if isinstance(results[0], list):
31
+ results = results[0]
32
+
33
+ # Build confidence dict for Gradio bar chart
34
+ scores = {LABELS[r["label"]]: round(r["score"], 4) for r in results}
35
+
36
+ best = max(results, key=lambda x: x["score"])
37
+ label = LABELS[best["label"]]
38
+ conf = best["score"] * 100
39
+ verdict = f"**{label}** β€” {conf:.1f}% confidence"
40
+
41
+ return scores, verdict
42
+
43
+ # ── Build UI ──
44
+ with gr.Blocks(title="πŸ“° News Classifier", theme=gr.themes.Soft()) as demo:
45
+ gr.Markdown("# πŸ“° News Article Classifier")
46
+ gr.Markdown("Powered by **DistilBERT** fine-tuned on AG News dataset")
47
+
48
+ with gr.Row():
49
+ with gr.Column(scale=2):
50
+ text_input = gr.Textbox(
51
+ label="Paste your news article here",
52
+ placeholder="e.g. Apple revealed its new MacBook Pro...",
53
+ lines=6
54
+ )
55
+ classify_btn = gr.Button("πŸ” Classify", variant="primary")
56
+
57
+ gr.Examples(
58
+ examples=[
59
+ ["NASA launched a new Mars rover to study ancient riverbeds on the planet's surface."],
60
+ ["The stock market fell sharply after the Federal Reserve raised interest rates."],
61
+ ["Lionel Messi scored a hat-trick to lead Argentina to victory in the World Cup final."],
62
+ ["Scientists discovered a new method to generate clean energy from seawater."],
63
+ ],
64
+ inputs=text_input,
65
+ label="πŸ“‹ Try these examples"
66
+ )
67
+
68
+ with gr.Column(scale=1):
69
+ verdict_out = gr.Markdown(label="Result")
70
+ scores_out = gr.Label(label="Confidence Scores", num_top_classes=4)
71
+
72
+ classify_btn.click(
73
+ fn=classify_article,
74
+ inputs=text_input,
75
+ outputs=[scores_out, verdict_out]
76
+ )
77
+ text_input.submit(
78
+ fn=classify_article,
79
+ inputs=text_input,
80
+ outputs=[scores_out, verdict_out]
81
+ )
82
+
83
+ demo.launch(share=True) # share=True gives a public link!
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ transformers
2
+ torch
3
+ gradio
4
+ scikit-learn