Spaces:
Runtime error
Runtime error
| import json | |
| from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer | |
| from pathlib import Path | |
| from chat import ChatEngine | |
| ROOT = Path(__file__).parent | |
| engine = ChatEngine() | |
| class Handler(BaseHTTPRequestHandler): | |
| def do_GET(self): | |
| if self.path in {"/", "/index.html"}: | |
| html = (ROOT / "ui" / "index.html").read_bytes() | |
| self.send_response(200) | |
| self.send_header("Content-Type", "text/html; charset=utf-8") | |
| self.send_header("Content-Length", str(len(html))) | |
| self.end_headers() | |
| self.wfile.write(html) | |
| return | |
| self.send_error(404) | |
| def do_POST(self): | |
| if self.path != "/api/chat": | |
| self.send_error(404) | |
| return | |
| length = int(self.headers.get("Content-Length", "0")) | |
| payload = json.loads(self.rfile.read(length) or b"{}") | |
| message = str(payload.get("message", "")).strip() | |
| result = engine.generate(message) if message else {"reply": "Say something and I will reply.", "tokens": []} | |
| data = json.dumps(result).encode("utf-8") | |
| self.send_response(200) | |
| self.send_header("Content-Type", "application/json") | |
| self.send_header("Content-Length", str(len(data))) | |
| self.end_headers() | |
| self.wfile.write(data) | |
| def log_message(self, fmt, *args): | |
| print(fmt % args) | |
| def main(): | |
| server = ThreadingHTTPServer(("127.0.0.1", 7860), Handler) | |
| print("SuperLilLM UI running at http://127.0.0.1:7860") | |
| server.serve_forever() | |
| if __name__ == "__main__": | |
| main() | |