Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import httpx | |
| import asyncio | |
| import json | |
| BASE = "http://127.0.0.1:8081" | |
| def get_status(): | |
| try: | |
| r = httpx.get(f"{BASE}/", timeout=5.0) | |
| data = r.json() | |
| return f"API: {data["status"]} | |
| Phones: {data["phones_connected"]} | |
| Models: {len(data["models"])}" | |
| except: | |
| return "API offline" | |
| def chat(message): | |
| try: | |
| r = httpx.post(f"{BASE}/v1/chat/completions", | |
| headers={"Authorization": "Bearer da-demo-key-0001", "Content-Type": "application/json"}, | |
| json={"model": "dispatchAI/SmolLM2-135M-Instruct-mobile", "messages": [{"role": "user", "content": message}], "max_tokens": 50}, | |
| timeout=120.0) | |
| data = r.json() | |
| return data["choices"][0]["message"]["content"] | |
| except Exception as e: | |
| return f"Error: {e}" | |
| with gr.Blocks(title="dispatchAI Monitor") as app: | |
| gr.Markdown("# dispatchAI Phone Farm Monitor") | |
| with gr.Row(): | |
| status_btn = gr.Button("Check Status") | |
| status_out = gr.Textbox(label="Status") | |
| status_btn.click(get_status, outputs=status_out) | |
| with gr.Row(): | |
| msg = gr.Textbox(label="Message", placeholder="Ask a question...") | |
| send_btn = gr.Button("Send") | |
| response = gr.Textbox(label="Response") | |
| send_btn.click(chat, inputs=msg, outputs=response) | |
| app.launch() | |