mindnet/app/routers/embed_router.py
2025-12-15 15:40:39 +01:00

30 lines
856 B
Python

"""
FILE: app/routers/embed_router.py
DESCRIPTION: Exponiert die lokale Embedding-Funktion als API-Endpunkt.
VERSION: 0.1.0
STATUS: Active
DEPENDENCIES: app.embeddings, pydantic
LAST_ANALYSIS: 2025-12-15
"""
from __future__ import annotations
from fastapi import APIRouter
from pydantic import BaseModel, Field
from typing import List
from ..embeddings import embed_texts
router = APIRouter(prefix="/embed", tags=["embeddings"])
class EmbedRequest(BaseModel):
texts: List[str] = Field(..., description="List of texts to embed")
class EmbedResponse(BaseModel):
vectors: list[list[float]]
dim: int
@router.post("", response_model=EmbedResponse, summary="Generate MiniLM embeddings for texts")
def post_embed(req: EmbedRequest):
vecs = embed_texts(req.texts)
dim = len(vecs[0]) if vecs else 0
return {"vectors": vecs, "dim": dim}