chxxlk
setting embedding for chatbot
8201032
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from embedding_engine import IndonesianEmbeddingEngine
from typing import List
import time
app = FastAPI(title="Indonesian Embedding Service")
engine = IndonesianEmbeddingEngine()
class EmbedRequest(BaseModel):
texts: List[str]
class EmbedResponse(BaseModel):
embeddings: List[List[float]]
dimension: int
model: str
elapsed_ms: float
@app.post("/embed", response_model=EmbedResponse)
def embed(req: EmbedRequest):
if not req.texts or len(req.texts) == 0:
raise HTTPException(status_code=400, detail="texts required")
start = time.time()
embeddings = engine.embed(req.texts)
elapsed = (time.time() - start) * 1000
return {
"embeddings": embeddings,
"dimension": len(embeddings[0]),
"model": "asmud/indonesian-embedding-small (onnx)",
"elapsed_ms": round(elapsed, 2),
}
@app.get("/health")
def health():
return {"status": "ok"}