Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ env:
WEAVIATE_130: 1.30.12
WEAVIATE_131: 1.31.5
WEAVIATE_132: 1.32.5
WEAVIATE_133: 1.33.0-rc.1
WEAVIATE_133: 1.33.0
WEAVIATE_134: 1.34.0-rc.0-b69eaf1.amd64

jobs:
lint-and-format:
Expand Down Expand Up @@ -302,7 +303,8 @@ jobs:
$WEAVIATE_130,
$WEAVIATE_131,
$WEAVIATE_132,
$WEAVIATE_133
$WEAVIATE_133,
$WEAVIATE_134
]
steps:
- name: Checkout
Expand Down
40 changes: 15 additions & 25 deletions weaviate/collections/grpc/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def _recompute_target_vector_to_grpc(
self,
target_vector: Optional[TargetVectorJoinType],
target_vectors_tmp: List[str],
) -> Tuple[Optional[base_search_pb2.Targets], Optional[List[str]]]:
) -> Optional[base_search_pb2.Targets]:
# reorder input for targets so they match the vectors
if isinstance(target_vector, _MultiTargetVectorJoin):
target_vector.target_vectors = target_vectors_tmp
Expand All @@ -93,16 +93,16 @@ def _recompute_target_vector_to_grpc(

def __target_vector_to_grpc(
self, target_vector: Optional[TargetVectorJoinType]
) -> Tuple[Optional[base_search_pb2.Targets], Optional[List[str]]]:
) -> Optional[base_search_pb2.Targets]:
if target_vector is None:
return None, None
return None

if isinstance(target_vector, str):
return base_search_pb2.Targets(target_vectors=[target_vector]), None
return base_search_pb2.Targets(target_vectors=[target_vector])
elif isinstance(target_vector, list):
return base_search_pb2.Targets(target_vectors=target_vector), None
return base_search_pb2.Targets(target_vectors=target_vector)
else:
return target_vector.to_grpc_target_vector(self._weaviate_version), None
return target_vector.to_grpc_target_vector(self._weaviate_version)

def _vector_per_target(
self,
Expand Down Expand Up @@ -342,7 +342,7 @@ def _parse_near_vector(

certainty, distance = self._parse_near_options(certainty, distance)

targets, target_vectors = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)

if _is_1d_vector(near_vector) and len(near_vector) > 0:
# fast path for simple single-vector
Expand Down Expand Up @@ -386,7 +386,7 @@ def _parse_near_vector(
)
vector_per_target_tmp = None
if target_vectors_tmp is not None:
targets, target_vectors = self._recompute_target_vector_to_grpc(
targets = self._recompute_target_vector_to_grpc(
target_vector, target_vectors_tmp
)
vectors = None
Expand All @@ -395,7 +395,6 @@ def _parse_near_vector(
certainty=certainty,
distance=distance,
targets=targets,
target_vectors=target_vectors,
vector_per_target=vector_per_target_tmp,
vector_for_targets=vector_for_targets,
vectors=vectors,
Expand Down Expand Up @@ -441,7 +440,7 @@ def _parse_near_text(
if isinstance(near_text, str):
near_text = [near_text]
certainty, distance = self._parse_near_options(certainty, distance)
targets, target_vector = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)

return base_search_pb2.NearTextSearch(
query=near_text,
Expand All @@ -450,7 +449,6 @@ def _parse_near_text(
move_away=self.__parse_move(move_away),
move_to=self.__parse_move(move_to),
targets=targets,
target_vectors=target_vector,
)

def _parse_near_object(
Expand All @@ -474,14 +472,13 @@ def _parse_near_object(

certainty, distance = self._parse_near_options(certainty, distance)

targets, target_vector = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)

return base_search_pb2.NearObject(
id=str(near_object),
certainty=certainty,
distance=distance,
targets=targets,
target_vectors=target_vector,
)

def _parse_media(
Expand All @@ -507,53 +504,47 @@ def _parse_media(
certainty, distance = self._parse_near_options(certainty, distance)

kwargs: Dict[str, Any] = {}
targets, target_vector = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)
if type_ == "audio":
kwargs["near_audio"] = base_search_pb2.NearAudioSearch(
audio=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
elif type_ == "depth":
kwargs["near_depth"] = base_search_pb2.NearDepthSearch(
depth=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
elif type_ == "image":
kwargs["near_image"] = base_search_pb2.NearImageSearch(
image=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
elif type_ == "imu":
kwargs["near_imu"] = base_search_pb2.NearIMUSearch(
imu=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
elif type_ == "thermal":
kwargs["near_thermal"] = base_search_pb2.NearThermalSearch(
thermal=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
elif type_ == "video":
kwargs["near_video"] = base_search_pb2.NearVideoSearch(
video=media,
distance=distance,
certainty=certainty,
target_vectors=target_vector,
targets=targets,
)
else:
Expand Down Expand Up @@ -607,7 +598,7 @@ def _parse_hybrid(
if query is None:
alpha = 1

targets, target_vectors = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)

near_text, near_vector, vector_bytes, vectors = None, None, None, None

Expand Down Expand Up @@ -646,7 +637,7 @@ def _parse_hybrid(
) = self._vector_for_target(vector.vector, targets, "vector")
vector_per_target_tmp = None
if target_vectors_tmp is not None:
targets, target_vectors = self._recompute_target_vector_to_grpc(
targets = self._recompute_target_vector_to_grpc(
target_vector, target_vectors_tmp
)

Expand All @@ -671,11 +662,11 @@ def _parse_hybrid(
) = self._vector_for_target(vector, targets, "vector")
vector_per_target_tmp = None
if target_vectors_tmp is not None:
targets, target_vectors = self._recompute_target_vector_to_grpc(
targets = self._recompute_target_vector_to_grpc(
target_vector, target_vectors_tmp
)
else:
targets, target_vectors = self.__target_vector_to_grpc(target_vector)
targets = self.__target_vector_to_grpc(target_vector)

if vector_per_target_tmp is not None or vector_for_targets_tmp is not None:
near_vector = base_search_pb2.NearVector(
Expand All @@ -699,7 +690,6 @@ def _parse_hybrid(
if fusion_type is not None
else None
),
target_vectors=target_vectors,
targets=targets,
near_text=near_text,
near_vector=near_vector,
Expand Down
Loading
Loading