File size: 972 Bytes
364a1cc
 
 
d7a92f3
9a50b03
d7a92f3
364a1cc
 
 
 
 
 
d7a92f3
364a1cc
d354551
364a1cc
d7a92f3
364a1cc
d7a92f3
 
 
c8a3df0
d7a92f3
c8a3df0
 
d354551
d7a92f3
d354551
c8a3df0
 
364a1cc
d7a92f3
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, HTTPException
from pydantic import BaseModel
from transformers import pipeline
# Load model
generator = pipeline("text-generation", model="bp7274/soulprint-model")
app = FastAPI()
class InputData(BaseModel):
    age: int
    location: str
    profession: str
    personality: str
@app.get("/")
def health():
    return {"status": "ready"}

@app.post("/generate")
def generate_quote(data: InputData):
    try:
        prompt = f"{data.age}, {data.location}, {data.profession}, {data.personality}."
        result = generator(
            prompt,
            max_length=120,
            temperature=0.9,
            top_p=0.95,
            repetition_penalty=1.2,
            do_sample=True
        )[0]["generated_text"]
        # Strip only the prompt portion (no fallback check)
        quote = result[len(prompt):].strip()
        return {"quote": quote}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))