import html
import json
from pathlib import Path
import gradio as gr
import requests
import threading
import time
def escape_srcdoc(text: str) -> str:
return html.escape(text, quote=True)
def query_fn(payload_str):
data = json.loads(payload_str)
return json.dumps({
"answer": f"Grounded response for {data.get('text')}",
"answer_source": "extractive",
"total_ms": 38.2
})
demo_html = """
Test UI
Retro Tropical Command Center
"""
with gr.Blocks(title="Test Space") as demo:
gr.HTML(f'')
inp = gr.Textbox(visible=False, elem_id="inp")
out = gr.Textbox(visible=False, elem_id="out")
btn = gr.Button("Submit", visible=False, elem_id="btn")
btn.click(fn=query_fn, inputs=[inp], outputs=[out], api_name="rag_query")
def run():
demo.queue().launch(server_port=7879, prevent_thread_lock=True)
t = threading.Thread(target=run, daemon=True)
t.start()
time.sleep(2)
try:
r = requests.get("http://127.0.0.1:7879/")
print("Root Gradio status:", r.status_code)
print("Contains srcdoc:", "srcdoc=" in r.text)
finally:
demo.close()