from fastapi import FastAPI, WebSocket from fastapi.responses import HTMLResponse from answerer import Answerer answerer = Answerer( model="RWKV-5-World-3B-v2-20231118-ctx16k.pth", vocab="rwkv_vocab_v20230424", strategy="cpu bf16", ctx_limit=16*1024, ) app = FastAPI() HTML = """

""" @app.get("/") async def index(): return HTMLResponse(HTML) @app.websocket("/answer") async def answer(ws: WebSocket): await ws.accept() print("ws connected!") input = await ws.receive_text() output = answerer(input, 32) print("output ready!") for el in output: print(f"sent: '{el}'") await ws.send_text(el) await ws.close() print("ws closed!")