nattkorat commited on
Commit
c4c121d
Β·
1 Parent(s): 4d6b4d6

create app and add requirements

Browse files
Files changed (2) hide show
  1. app.py +37 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoTokenizer, pipeline
2
+ import torch
3
+ import gradio as gr
4
+
5
+ model_name = "nattkorat/xml_roberta_with_raw_text"
6
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
7
+ model = pipeline(task="text-classification",
8
+ model=model_name,
9
+ tokenizer=tokenizer,
10
+ truncation=True,
11
+ padding=True,
12
+ top_k=6
13
+ )
14
+
15
+
16
+
17
+ def classify_news(article: str):
18
+ if not article.strip():
19
+ return {"error": "αžŸαžΌαž˜αž”αž‰αŸ’αž…αžΌαž›αž’αžαŸ’αžαž”αž‘αžŠαžΎαž˜αŸ’αž”αžΈαžœαž·αž—αžΆαž‚!"}
20
+ output = model(article)
21
+ results = {}
22
+ for out in output[0]:
23
+ results[out['label']] = out['score']
24
+ return results
25
+
26
+ interface = gr.Interface(
27
+ fn=classify_news,
28
+ inputs=gr.TextArea(placeholder="αžŠαžΆαž€αŸ‹αž’αžαŸ’αžαž”αž‘αž…αžΌαž›αž“αŸ…αž‘αžΈαž“αŸαŸ‡", label="αž’αžαŸ’αžαž”αž‘"),
29
+ outputs=gr.Label(num_top_classes=6),
30
+ title="XLM-Roberta for Khmer News Classification",
31
+ description="A demo of XLM-Roberta for khmer news classification."
32
+ )
33
+
34
+ interface.launch()
35
+
36
+
37
+ # print(classify_news("Hello"))
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ torch
2
+ transformers