File size: 741 Bytes
8136d6d | 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 | from fastapi import FastAPI
from pydantic import BaseModel
from sigillm_numpy import *
from glyph_semantic_bridge import *
import uvicorn
app = FastAPI()
tok = GlyphTokenizer()
ds = load_dataset(tok)
model = NGramSigilLM()
model.fit(ds, epochs=5)
class Request(BaseModel):
text: str
mode: str = "balanced"
@app.post("/generate")
def generate(req: Request):
target = target_profile(req.mode)
seed = vector_to_seed(req.text, START, 8)
tokens = model.generate(seed, target_roles=target["roles"])
return {
"input": req.text,
"tokens": tokens,
"glyphs": tok.decode(tokens),
"meta": score(tokens, target)
}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
|