Spaces:
Runtime error
Runtime error
from typing import Literal | |
from fastapi import APIRouter, Depends, Request | |
from pydantic import BaseModel | |
from private_gpt.server.embeddings.embeddings_service import ( | |
Embedding, | |
EmbeddingsService, | |
) | |
from private_gpt.server.utils.auth import authenticated | |
embeddings_router = APIRouter(prefix="/v1", dependencies=[Depends(authenticated)]) | |
class EmbeddingsBody(BaseModel): | |
input: str | list[str] | |
class EmbeddingsResponse(BaseModel): | |
object: Literal["list"] | |
model: Literal["private-gpt"] | |
data: list[Embedding] | |
def embeddings_generation(request: Request, body: EmbeddingsBody) -> EmbeddingsResponse: | |
"""Get a vector representation of a given input. | |
That vector representation can be easily consumed | |
by machine learning models and algorithms. | |
""" | |
service = request.state.injector.get(EmbeddingsService) | |
input_texts = body.input if isinstance(body.input, list) else [body.input] | |
embeddings = service.texts_embeddings(input_texts) | |
return EmbeddingsResponse(object="list", model="private-gpt", data=embeddings) | |