add api/v1/text_labels/valid_labels backend endpoint (#498)

Provides the set of valid text_lables with descriptions via a REST endpoint.
This commit is contained in:
Andreas Köpf
2023-01-07 21:28:24 +01:00
committed by GitHub
parent 595decadaf
commit 5b2cb5dd29
3 changed files with 33 additions and 2 deletions
@@ -3,6 +3,7 @@ from fastapi.security.api_key import APIKey
from loguru import logger
from oasst_backend.api import deps
from oasst_backend.prompt_repository import PromptRepository
from oasst_backend.schemas.text_labels import LabelOption, ValidLabelsResponse
from oasst_shared.schemas import protocol as protocol_schema
from sqlmodel import Session
from starlette.status import HTTP_204_NO_CONTENT, HTTP_400_BAD_REQUEST
@@ -32,3 +33,10 @@ def label_text(
raise HTTPException(
status_code=HTTP_400_BAD_REQUEST,
)
@router.get("/valid_labels")
def get_valid_lables() -> ValidLabelsResponse:
return ValidLabelsResponse(
valid_labels=[LabelOption(name=l.value, description=l.description) for l in protocol_schema.TextLabel]
)
@@ -0,0 +1,10 @@
from pydantic import BaseModel
class LabelOption(BaseModel):
name: str
description: str
class ValidLabelsResponse(BaseModel):
valid_labels: list[LabelOption]