Spaces:
Sleeping
Sleeping
File size: 568 Bytes
510a9b0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from pydantic import BaseModel, create_model
from typing import Literal, List
def generate_classification_model(labels: List[str]) -> BaseModel:
"""
Dynamically generates a Pydantic model for classification based on user-provided labels.
Args:
labels (List[str]): List of valid label strings.
Returns:
BaseModel: A dynamically generated Pydantic model.
"""
return create_model(
"DynamicClassificationOutput",
label=(Literal[tuple(labels)], ...), # Enforce that 'label' matches one of the valid labels
)
|