[Frontend] Avoid creating guided decoding LogitsProcessor unnecessarily (#9521)

This commit is contained in:
Nick Hill 2024-10-19 04:21:01 +01:00 committed by GitHub
parent 380e18639f
commit 1325872ec8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -49,14 +49,17 @@ class GuidedDecodingParams:
@staticmethod
def from_optional(
json: Optional[Union[Dict, BaseModel, str]],
json: Optional[Union[Dict, BaseModel, str]] = None,
regex: Optional[str] = None,
choice: Optional[List[str]] = None,
grammar: Optional[str] = None,
json_object: Optional[bool] = None,
backend: Optional[str] = None,
whitespace_pattern: Optional[str] = None,
) -> "GuidedDecodingParams":
) -> Optional["GuidedDecodingParams"]:
if all(arg is None
for arg in (json, regex, choice, grammar, json_object)):
return None
# Extract json schemas from pydantic models
if isinstance(json, (BaseModel, type(BaseModel))):
json = json.model_json_schema()