[Frontend] Add /classify endpoint (#17032)

Signed-off-by: Frieda (Jingying) Huang <jingyingfhuang@gmail.com>
This commit is contained in:
Frieda Huang
2025-05-11 03:57:07 -04:00
committed by GitHub
parent d1110f5b5a
commit 9cea90eab4
9 changed files with 972 additions and 173 deletions

View File

@@ -1292,6 +1292,47 @@ class ScoreResponse(OpenAIBaseModel):
usage: UsageInfo
class ClassificationRequest(OpenAIBaseModel):
model: Optional[str] = None
input: Union[list[str], str]
truncate_prompt_tokens: Optional[int] = None
user: Optional[str] = None
# doc: begin-classification-pooling-params
additional_data: Optional[Any] = None
# doc: end-classification-pooling-params
# doc: begin-classification-extra-params
priority: int = Field(
default=0,
description=(
"The priority of the request (lower means earlier handling; "
"default: 0). Any priority other than 0 will raise an error "
"if the served model does not use priority scheduling."),
)
# doc: end-classification-extra-params
def to_pooling_params(self):
return PoolingParams(additional_data=self.additional_data)
class ClassificationData(OpenAIBaseModel):
index: int
label: Optional[str]
probs: list[float]
num_classes: int
class ClassificationResponse(OpenAIBaseModel):
id: str = Field(default_factory=lambda: f"classify-{random_uuid()}")
object: str = "list"
created: int = Field(default_factory=lambda: int(time.time()))
model: str
data: list[ClassificationData]
usage: UsageInfo
class FunctionCall(OpenAIBaseModel):
name: str
arguments: str