Spaces:
Sleeping
Sleeping
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) |