Skip to content

Commit 9a4bedf

Browse files
committed
Fix enum selection
1 parent 4a0cec4 commit 9a4bedf

File tree

2 files changed

+32
-8
lines changed

2 files changed

+32
-8
lines changed

test/collection/test_classes_generative.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@ def test_generative_parameters_images_parsing(
322322
stop=["\n"],
323323
temperature=0.5,
324324
top_p=50,
325+
reasoning_effort="high",
326+
verbosity="low",
325327
)._to_grpc(
326328
_GenerativeConfigRuntimeOptions(
327329
return_metadata=True, images=[LOGO_ENCODED], image_properties=["image"]
@@ -344,6 +346,8 @@ def test_generative_parameters_images_parsing(
344346
images=base_pb2.TextArray(values=[LOGO_ENCODED]),
345347
image_properties=base_pb2.TextArray(values=["image"]),
346348
is_azure=False,
349+
reasoning_effort=generative_pb2.GenerativeOpenAI.ReasoningEffort.REASONING_EFFORT_HIGH,
350+
verbosity=generative_pb2.GenerativeOpenAI.Verbosity.VERBOSITY_LOW,
347351
),
348352
),
349353
),

weaviate/collections/classes/generative.py

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -342,17 +342,37 @@ def _to_grpc(self, opts: _GenerativeConfigRuntimeOptions) -> generative_pb2.Gene
342342
is_azure=self.is_azure,
343343
images=_to_text_array(opts.images),
344344
image_properties=_to_text_array(opts.image_properties),
345-
verbosity=generative_pb2.GenerativeOpenAI.Verbosity(self.verbosity)
346-
if self.verbosity is not None
347-
else None,
348-
reasoning_effort=generative_pb2.GenerativeOpenAI.ReasoningEffort(
349-
self.reasoning_effort
350-
)
351-
if self.reasoning_effort is not None
352-
else None,
345+
verbosity=self.__verbosity(),
346+
reasoning_effort=self.__reasoning_effort(),
353347
),
354348
)
355349

350+
def __verbosity(self):
351+
if self.verbosity is None:
352+
return None
353+
354+
if self.verbosity == "low":
355+
return generative_pb2.GenerativeOpenAI.Verbosity.VERBOSITY_LOW
356+
if self.verbosity == "medium":
357+
return generative_pb2.GenerativeOpenAI.Verbosity.VERBOSITY_MEDIUM
358+
if self.verbosity == "high":
359+
return generative_pb2.GenerativeOpenAI.Verbosity.VERBOSITY_HIGH
360+
raise WeaviateInvalidInputError(f"Invalid verbosity value: {self.verbosity}")
361+
362+
def __reasoning_effort(self):
363+
if self.reasoning_effort is None:
364+
return None
365+
366+
if self.reasoning_effort == "minimal":
367+
return generative_pb2.GenerativeOpenAI.ReasoningEffort.REASONING_EFFORT_MINIMAL
368+
if self.reasoning_effort == "low":
369+
return generative_pb2.GenerativeOpenAI.ReasoningEffort.REASONING_EFFORT_LOW
370+
if self.reasoning_effort == "medium":
371+
return generative_pb2.GenerativeOpenAI.ReasoningEffort.REASONING_EFFORT_MEDIUM
372+
if self.reasoning_effort == "high":
373+
return generative_pb2.GenerativeOpenAI.ReasoningEffort.REASONING_EFFORT_HIGH
374+
raise WeaviateInvalidInputError(f"Invalid reasoning_effort value: {self.reasoning_effort}")
375+
356376

357377
class _GenerativeGoogle(_GenerativeConfigRuntime):
358378
generative: Union[GenerativeSearches, _EnumLikeStr] = Field(

0 commit comments

Comments
 (0)