---
title: Classification Models
---
This document describes the `/v1/classify` API endpoint in SGLang, which is compatible with vLLM's classification API format.
## Overview
The classification API allows you to classify text inputs using classification models. This implementation follows the same format as vLLM's 0.7.0 classification API.
## API endpoint
```text Output
POST /v1/classify
```
## Request format
```json Config
{
"model": "model_name",
"input": "text to classify"
}
```
### Parameters
The name of the classification model to use.
The text to classify.
User identifier for tracking.
Request ID for tracking.
Request priority.
## Response format
```json Config
{
"id": "classify-9bf17f2847b046c7b2d5495f4b4f9682",
"object": "list",
"created": 1745383213,
"model": "jason9693/Qwen2.5-1.5B-apeach",
"data": [
{
"index": 0,
"label": "Default",
"probs": [0.565970778465271, 0.4340292513370514],
"num_classes": 2
}
],
"usage": {
"prompt_tokens": 10,
"total_tokens": 10,
"completion_tokens": 0,
"prompt_tokens_details": null
}
}
```
### Response fields
Unique identifier for the classification request.
Always `"list"`.
Unix timestamp when the request was created.
The model used for classification.
Array of classification results.
Index of the result.
Predicted class label.
Array of probabilities for each class.
Total number of classes.
Token usage information.
Number of input tokens.
Total number of tokens.
Number of completion tokens (always `0` for classification).
Additional token details (optional).
## Example usage
```bash Command
curl -v "http://127.0.0.1:8000/v1/classify" \
-H "Content-Type: application/json" \
-d '{
"model": "jason9693/Qwen2.5-1.5B-apeach",
"input": "Loved the new café—coffee was great."
}'
```
```python Example
import requests
import json
# Make classification request
response = requests.post(
"http://127.0.0.1:8000/v1/classify",
headers={"Content-Type": "application/json"},
json={
"model": "jason9693/Qwen2.5-1.5B-apeach",
"input": "Loved the new café—coffee was great."
}
)
# Parse response
result = response.json()
print(json.dumps(result, indent=2))
```
## Supported models
The classification API works with any classification model supported by SGLang, including:
| Model |
Type |
| `LlamaForSequenceClassification` |
Multi-class classification |
| `Qwen2ForSequenceClassification` |
Multi-class classification |
| `Qwen3ForSequenceClassification` |
Multi-class classification |
| `BertForSequenceClassification` |
Multi-class classification |
| `Gemma2ForSequenceClassification` |
Multi-class classification |
The API automatically uses the `id2label` mapping from the model's `config.json` file to provide meaningful label names instead of generic class names. If `id2label` is not available, it falls back to `LABEL_0`, `LABEL_1`, etc., or `Class_0`, `Class_1` as a last resort.
| Model |
Type |
| `InternLM2ForRewardModel` |
Single reward score |
| `Qwen2ForRewardModel` |
Single reward score |
| `LlamaForSequenceClassificationWithNormal_Weights` |
Special reward model |
The `/classify` endpoint in SGLang was originally designed for reward models but now supports all non-generative models. The `/v1/classify` endpoint provides a standardized vLLM-compatible interface for classification tasks.
## Error handling
The API returns appropriate HTTP status codes and error messages:
| Status code |
Meaning |
| `400 Bad Request` |
Invalid request format or missing required fields |
| `500 Internal Server Error` |
Server-side processing error |
Error response format:
```json Config
{
"error": "Error message",
"type": "error_type",
"code": 400
}
```
## Implementation details
Handles routing and request/response models in
`sgl-model-gateway/src/protocols/spec.rs`.
Implements the actual endpoint in
`python/sglang/srt/entrypoints/http_server.py`.
Handles the classification logic in
`python/sglang/srt/entrypoints/openai/serving_classify.py`.
## Testing
Use the provided test script to verify the implementation:
```bash Command
python test_classify_api.py
```
## Compatibility
This implementation is compatible with vLLM's classification API format,
allowing seamless migration from vLLM to SGLang for classification tasks.