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)