Unverified Commit af770b8e authored by pks's avatar pks Committed by GitHub
Browse files

[Bugfix] Fix AttributeError when passing StructuredOutputsParams to CompletionRequest (#35237)


Signed-off-by: default avatarPatrick Simianer <patrick@lilt.com>
parent 2ff3e436
......@@ -555,8 +555,16 @@ class ChatCompletionRequest(OpenAIBaseModel):
return data
structured_outputs_kwargs = data["structured_outputs"]
# structured_outputs may arrive as a dict (from JSON/raw kwargs) or
# as a StructuredOutputsParams dataclass instance.
is_dataclass = isinstance(structured_outputs_kwargs, StructuredOutputsParams)
count = sum(
structured_outputs_kwargs.get(k) is not None
(
getattr(structured_outputs_kwargs, k, None)
if is_dataclass
else structured_outputs_kwargs.get(k)
)
is not None
for k in ("json", "regex", "choice")
)
# you can only use one kind of constraints for structured outputs
......
......@@ -320,8 +320,16 @@ class CompletionRequest(OpenAIBaseModel):
return data
structured_outputs_kwargs = data["structured_outputs"]
# structured_outputs may arrive as a dict (from JSON/raw kwargs) or
# as a StructuredOutputsParams dataclass instance.
is_dataclass = isinstance(structured_outputs_kwargs, StructuredOutputsParams)
count = sum(
structured_outputs_kwargs.get(k) is not None
(
getattr(structured_outputs_kwargs, k, None)
if is_dataclass
else structured_outputs_kwargs.get(k)
)
is not None
for k in ("json", "regex", "choice")
)
if count > 1:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment