Spaces:
Runtime error
Runtime error
File size: 1,586 Bytes
3781007 | 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 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()
|