kaenova commited on
Commit
12d271a
·
1 Parent(s): 0454728
Files changed (3) hide show
  1. .gitignore +1 -0
  2. api_test.py +24 -0
  3. app.py +13 -5
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ venv
api_test.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from gradio_client import Client
2
+ import threading
3
+
4
+ client = Client("http://127.0.0.1:7860/")
5
+ num_requests = 1000
6
+
7
+
8
+ def request(workers_num: "int"):
9
+ client.predict(
10
+ "bibirnya memerah tangannya jadi selengket madu dan ia berkata 'Boleh saya memerah lembu ini?'", # str representing string value in 'Input Text' Textbox component
11
+ api_name="/process",
12
+ )
13
+ print(workers_num)
14
+
15
+
16
+ threads: threading.Thread = []
17
+
18
+ for i in range(num_requests):
19
+ thread = threading.Thread(target=request, args=(i,))
20
+ threads.append(thread)
21
+ thread.start()
22
+
23
+ for thread in threads:
24
+ thread.join()
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import gradio as gr
2
- import typing
3
  from NDETCStemmer import NDETCStemmer
4
 
5
  num_text_process_limit = 100
@@ -10,13 +9,21 @@ Call by API is also available. Check the bottom of the page on 'Use via API 🚀
10
  """
11
 
12
  stemmer = NDETCStemmer()
13
-
14
 
15
  def process_single_text(text_input: "str"):
 
16
  # Split input
17
  if text_input.strip() == "":
18
  return ""
19
  results = stemmer.stem(text_input)
 
 
 
 
 
 
 
20
  return results
21
 
22
  with gr.Blocks() as demo:
@@ -28,19 +35,20 @@ with gr.Blocks() as demo:
28
  label="Input Text",
29
  info=f"Text to stem.",
30
  lines=5,
31
- value="""bibirnya memerah tangannya jadi selengket madu dan boleh saya memerah lembu ini""",
32
  )
33
  single_text_button = gr.Button("Stem!")
34
  results_text = gr.Textbox(
35
- label="Result",
36
  interactive=False,
37
  )
38
  single_text_button.click(
39
  process_single_text,
40
  inputs=[input_text],
41
  outputs=[results_text],
42
- api_name="process_single_text",
43
  )
44
 
45
  if __name__ == "__main__":
 
46
  demo.launch()
 
1
  import gradio as gr
 
2
  from NDETCStemmer import NDETCStemmer
3
 
4
  num_text_process_limit = 100
 
9
  """
10
 
11
  stemmer = NDETCStemmer()
12
+ process_counter = 0
13
 
14
  def process_single_text(text_input: "str"):
15
+
16
  # Split input
17
  if text_input.strip() == "":
18
  return ""
19
  results = stemmer.stem(text_input)
20
+
21
+ # Logging
22
+ global process_counter
23
+ process_counter = process_counter + 1
24
+
25
+ print(f"INFO: Number of processed text {process_counter}")
26
+
27
  return results
28
 
29
  with gr.Blocks() as demo:
 
35
  label="Input Text",
36
  info=f"Text to stem.",
37
  lines=5,
38
+ value="""bibirnya memerah tangannya jadi selengket madu dan ia berkata 'Boleh saya memerah lembu ini?'""",
39
  )
40
  single_text_button = gr.Button("Stem!")
41
  results_text = gr.Textbox(
42
+ label=f"Result",
43
  interactive=False,
44
  )
45
  single_text_button.click(
46
  process_single_text,
47
  inputs=[input_text],
48
  outputs=[results_text],
49
+ api_name="process"
50
  )
51
 
52
  if __name__ == "__main__":
53
+ demo.queue(concurrency_count=100)
54
  demo.launch()