revaza commited on
Commit
ed67053
ยท
verified ยท
1 Parent(s): 434c6fc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -3,12 +3,14 @@ import joblib
3
  import requests
4
  import os
5
  from lime.lime_text import LimeTextExplainer
 
 
6
 
7
  # Constants
8
  CLASSES = ["Non-Hate Speech", "Hate Speech"]
9
  STOPWORDS = {
10
  "แƒ™แƒ˜", "แƒแƒ แƒ", "แƒ“แƒ", "แƒ แƒแƒ›", "แƒ แƒแƒ“แƒ’แƒแƒœ", "แƒ˜แƒก", "แƒ”แƒก", "แƒ แƒ", "แƒ›แƒแƒก", "แƒ›แƒ˜แƒกแƒ˜",
11
- "แƒจแƒ”แƒœแƒ˜", "แƒฉแƒ”แƒ›แƒ˜", "แƒ แƒแƒ“", "แƒ แƒแƒขแƒแƒ›" "แƒ›แƒ”แƒ แƒ”", "แƒแƒœ", "แƒแƒฃ", "แƒแƒ›แƒ˜แƒก", "แƒ˜แƒ›แƒ˜แƒก",
12
  "แƒ แƒแƒ›แƒช", "แƒ”แƒ”", "แƒ”แƒ”แƒ”", "แƒฎแƒแƒ ", "แƒ•แƒแƒ ", "แƒ แƒแƒ’แƒแƒ แƒช", "แƒ แƒแƒช", "แƒ แƒแƒ“แƒ”แƒกแƒแƒช",
13
  "แƒกแƒแƒ“แƒแƒช", "แƒ—แƒฃ", "แƒ แƒ", "แƒ แƒแƒ›แƒ”แƒšแƒ˜", "แƒ แƒแƒ›แƒšแƒ˜แƒช", "แƒ แƒแƒ“แƒ˜แƒก", "แƒ แƒแƒฆแƒ", "แƒ›แƒแƒ’แƒ แƒแƒ›",
14
  "แƒแƒ ", "แƒแƒฅ", "แƒ˜แƒฅ", "แƒจแƒ”แƒ›แƒ“แƒ”แƒ’", "แƒกแƒแƒ“", "แƒ›แƒ”", "แƒจแƒ”แƒœ", "แƒ—แƒฅแƒ•แƒ”แƒœ", "แƒ›แƒ˜แƒ”แƒ ",
@@ -56,16 +58,18 @@ def api_predict(text):
56
  words = get_hate_words(text)
57
  return {"hate_words": words}
58
 
 
59
  with gr.Blocks() as demo:
60
  input_text = gr.Textbox(label="Enter Georgian text")
61
  output_json = gr.JSON(label="Detected Hate Words")
62
  submit_btn = gr.Button("Predict")
63
 
64
- submit_btn.click(
65
- fn=api_predict,
66
- inputs=input_text,
67
- outputs=output_json,
68
- api_name="predict" # This is the key addition
69
- )
70
 
71
- demo.launch()
 
 
 
 
 
 
 
3
  import requests
4
  import os
5
  from lime.lime_text import LimeTextExplainer
6
+ from fastapi import FastAPI
7
+ from gradio.routes import mount_gradio_app
8
 
9
  # Constants
10
  CLASSES = ["Non-Hate Speech", "Hate Speech"]
11
  STOPWORDS = {
12
  "แƒ™แƒ˜", "แƒแƒ แƒ", "แƒ“แƒ", "แƒ แƒแƒ›", "แƒ แƒแƒ“แƒ’แƒแƒœ", "แƒ˜แƒก", "แƒ”แƒก", "แƒ แƒ", "แƒ›แƒแƒก", "แƒ›แƒ˜แƒกแƒ˜",
13
+ "แƒจแƒ”แƒœแƒ˜", "แƒฉแƒ”แƒ›แƒ˜", "แƒ แƒแƒ“", "แƒ แƒแƒขแƒแƒ›", "แƒ›แƒ”แƒ แƒ”", "แƒแƒœ", "แƒแƒฃ", "แƒแƒ›แƒ˜แƒก", "แƒ˜แƒ›แƒ˜แƒก",
14
  "แƒ แƒแƒ›แƒช", "แƒ”แƒ”", "แƒ”แƒ”แƒ”", "แƒฎแƒแƒ ", "แƒ•แƒแƒ ", "แƒ แƒแƒ’แƒแƒ แƒช", "แƒ แƒแƒช", "แƒ แƒแƒ“แƒ”แƒกแƒแƒช",
15
  "แƒกแƒแƒ“แƒแƒช", "แƒ—แƒฃ", "แƒ แƒ", "แƒ แƒแƒ›แƒ”แƒšแƒ˜", "แƒ แƒแƒ›แƒšแƒ˜แƒช", "แƒ แƒแƒ“แƒ˜แƒก", "แƒ แƒแƒฆแƒ", "แƒ›แƒแƒ’แƒ แƒแƒ›",
16
  "แƒแƒ ", "แƒแƒฅ", "แƒ˜แƒฅ", "แƒจแƒ”แƒ›แƒ“แƒ”แƒ’", "แƒกแƒแƒ“", "แƒ›แƒ”", "แƒจแƒ”แƒœ", "แƒ—แƒฅแƒ•แƒ”แƒœ", "แƒ›แƒ˜แƒ”แƒ ",
 
58
  words = get_hate_words(text)
59
  return {"hate_words": words}
60
 
61
+ # UI setup
62
  with gr.Blocks() as demo:
63
  input_text = gr.Textbox(label="Enter Georgian text")
64
  output_json = gr.JSON(label="Detected Hate Words")
65
  submit_btn = gr.Button("Predict")
66
 
67
+ submit_btn.click(fn=api_predict, inputs=input_text, outputs=output_json)
 
 
 
 
 
68
 
69
+ # FastAPI app for exposing /predict
70
+ app = FastAPI()
71
+ app = mount_gradio_app(app, demo, path="/") # UI at /
72
+
73
+ # Extra endpoint at /predict (external API POST)
74
+ api_iface = gr.Interface(fn=api_predict, inputs=gr.Textbox(), outputs="json")
75
+ app = mount_gradio_app(app, api_iface, path="/predict") # POST at /predict