Skip to content

vllm.model_executor.guided_decoding.guided_fields

GuidedDecodingRequest dataclass

One of the fields will be used to retrieve the logit processor.

Source code in vllm/model_executor/guided_decoding/guided_fields.py
@dataclass
class GuidedDecodingRequest:
    """One of the fields will be used to retrieve the logit processor."""
    guided_json: Optional[Union[dict, str]] = None
    guided_regex: Optional[str] = None
    guided_choice: Optional[list[str]] = None
    guided_grammar: Optional[str] = None
    guided_decoding_backend: Optional[str] = None
    guided_whitespace_pattern: Optional[str] = None
    guided_json_object: Optional[bool] = None
    structural_tag: Optional[str] = None

    def __post_init__(self):
        """Validate that some fields are mutually exclusive."""
        guide_count = sum(x is not None
                          for x in (self.guided_json, self.guided_regex,
                                    self.guided_choice, self.guided_grammar,
                                    self.guided_json_object,
                                    self.structural_tag))
        if guide_count > 1:
            raise ValueError(
                "You can only use one kind of guided decoding but multiple are "
                f"specified: {self.__dict__}")

guided_choice class-attribute instance-attribute

guided_choice: Optional[list[str]] = None

guided_decoding_backend class-attribute instance-attribute

guided_decoding_backend: Optional[str] = None

guided_grammar class-attribute instance-attribute

guided_grammar: Optional[str] = None

guided_json class-attribute instance-attribute

guided_json: Optional[Union[dict, str]] = None

guided_json_object class-attribute instance-attribute

guided_json_object: Optional[bool] = None

guided_regex class-attribute instance-attribute

guided_regex: Optional[str] = None

guided_whitespace_pattern class-attribute instance-attribute

guided_whitespace_pattern: Optional[str] = None

structural_tag class-attribute instance-attribute

structural_tag: Optional[str] = None

__init__

__init__(
    guided_json: Optional[Union[dict, str]] = None,
    guided_regex: Optional[str] = None,
    guided_choice: Optional[list[str]] = None,
    guided_grammar: Optional[str] = None,
    guided_decoding_backend: Optional[str] = None,
    guided_whitespace_pattern: Optional[str] = None,
    guided_json_object: Optional[bool] = None,
    structural_tag: Optional[str] = None,
) -> None

__post_init__

__post_init__()

Validate that some fields are mutually exclusive.

Source code in vllm/model_executor/guided_decoding/guided_fields.py
def __post_init__(self):
    """Validate that some fields are mutually exclusive."""
    guide_count = sum(x is not None
                      for x in (self.guided_json, self.guided_regex,
                                self.guided_choice, self.guided_grammar,
                                self.guided_json_object,
                                self.structural_tag))
    if guide_count > 1:
        raise ValueError(
            "You can only use one kind of guided decoding but multiple are "
            f"specified: {self.__dict__}")

LLMGuidedOptions

Bases: TypedDict

Source code in vllm/model_executor/guided_decoding/guided_fields.py
class LLMGuidedOptions(TypedDict, total=False):
    guided_json: Union[dict, str]
    guided_regex: str
    guided_choice: list[str]
    guided_grammar: str
    guided_decoding_backend: str
    guided_whitespace_pattern: str
    guided_json_object: bool

guided_choice instance-attribute

guided_choice: list[str]

guided_decoding_backend instance-attribute

guided_decoding_backend: str

guided_grammar instance-attribute

guided_grammar: str

guided_json instance-attribute

guided_json: Union[dict, str]

guided_json_object instance-attribute

guided_json_object: bool

guided_regex instance-attribute

guided_regex: str

guided_whitespace_pattern instance-attribute

guided_whitespace_pattern: str