Skip to content

Commit c107bbc

Browse files
committed
fix: fix grpc document, image, inference object without options conversion
1 parent 1a63b86 commit c107bbc

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

qdrant_client/conversions/conversion.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3485,23 +3485,25 @@ def convert_multi_dense_vector(cls, model: list[list[float]]) -> grpc.MultiDense
34853485
@classmethod
34863486
def convert_document(cls, model: rest.Document) -> grpc.Document:
34873487
return grpc.Document(
3488-
text=model.text, model=model.model, options=payload_to_grpc(model.options)
3488+
text=model.text,
3489+
model=model.model,
3490+
options=payload_to_grpc(model.options) if model.options is not None else None,
34893491
)
34903492

34913493
@classmethod
34923494
def convert_image(cls, model: rest.Image) -> grpc.Image:
34933495
return grpc.Image(
34943496
image=json_to_value(model.image),
34953497
model=model.model,
3496-
options=payload_to_grpc(model.options),
3498+
options=payload_to_grpc(model.options) if model.options is not None else None,
34973499
)
34983500

34993501
@classmethod
35003502
def convert_inference_object(cls, model: rest.InferenceObject) -> grpc.InferenceObject:
35013503
return grpc.InferenceObject(
35023504
object=json_to_value(model.object),
35033505
model=model.model,
3504-
options=payload_to_grpc(model.options),
3506+
options=payload_to_grpc(model.options) if model.options is not None else None,
35053507
)
35063508

35073509
@classmethod

tests/conversions/test_validate_conversions.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,3 +503,24 @@ def test_convert_text_index_params_stopwords():
503503
recovered_4 = GrpcToRest.convert_text_index_params(grpc_text_index_params_4)
504504

505505
assert recovered_4.stopwords == models.Language.ENGLISH
506+
507+
508+
def test_inference_without_options():
509+
from qdrant_client import models
510+
from qdrant_client.conversions.conversion import GrpcToRest, RestToGrpc
511+
512+
doc_wo_options = models.Document(text="qwerty-text", model="qwerty-text-model")
513+
image_wo_options = models.Image(image="qwerty-image", model="qwerty-image-model")
514+
inference_wo_options = models.InferenceObject(object="qwerty-any", model="qwerty-any-model")
515+
516+
grpc_doc_wo_options = RestToGrpc.convert_document(doc_wo_options)
517+
grpc_image_wo_options = RestToGrpc.convert_image(image_wo_options)
518+
grpc_inference_wo_options = RestToGrpc.convert_inference_object(inference_wo_options)
519+
520+
recovered_doc_wo_options = GrpcToRest.convert_document(grpc_doc_wo_options)
521+
recovered_image_wo_options = GrpcToRest.convert_image(grpc_image_wo_options)
522+
recovered_inference_wo_options = GrpcToRest.convert_inference_object(grpc_inference_wo_options)
523+
524+
assert recovered_doc_wo_options.options == {}
525+
assert recovered_image_wo_options.options == {}
526+
assert recovered_inference_wo_options.options == {}

0 commit comments

Comments
 (0)