add files

This commit is contained in:
2026-04-19 06:35:22 +00:00
parent 66f2c68b38
commit 63e8017fb9
5 changed files with 674 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import litert_lm
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from contextlib import asynccontextmanager
MODEL_PATH = "gemma-4-E2B-it.litertlm"
class PromptRequest(BaseModel):
prompt: str
ml_models = {}
@asynccontextmanager
async def lifespan(app: FastAPI):
engine = litert_lm.Engine(MODEL_PATH, backend=litert_lm.Backend.CPU)
ml_models["engine"] = engine
yield
del ml_models["engine"]
app = FastAPI(lifespan=lifespan)
@app.post("/generate")
async def generate_text(request: PromptRequest):
engine = ml_models.get("engine")
if not engine:
raise HTTPException(status_code=503, detail="Model engine not initialized")
try:
# Không dùng "with", tạo conversation trực tiếp
conversation = engine.create_conversation()
result = conversation.send_message(request.prompt)
return {"response": result["content"][0]["text"]}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)