File size: 859 Bytes
04bd21c
 
 
 
 
 
 
 
3c133a5
04bd21c
 
 
 
 
 
 
 
 
b1c35ff
04bd21c
 
a215b3e
 
 
04bd21c
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import streamlit as st

import json
import os
import requests
import socket

def start_server():   
    os.system("uvicorn inference_server:app --port 8080 --host 0.0.0.0 --workers 2")
    st.session_state['server_started'] = True
    
def is_port_in_use(port):
    import socket
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        return s.connect_ex(('0.0.0.0', port)) == 0

def inference(input_text):
  req = "http://0.0.0.0:8080?input_text=" + input_text
  res = requests.get(req)
  st.markdown(f'## Output')
  st.write(json.loads(res.text))
 
if 'server_started' not in st.session_state:
    st.session_state['server_started'] = False

if not st.session_state['server_started']:
  start_server()              

st.title('FastAPI Demo')
input_text = st.text_input(
    label="Write something",
    value="text"
)
inference(input_text)