Skip to content

Commit b04fde0

Browse files
feat: Update proto to support highlight score (#3194)
milvus-io/milvus#46994 Signed-off-by: junjie.jiang <junjie.jiang@zilliz.com>
1 parent e5d39ea commit b04fde0

File tree

8 files changed

+319
-231
lines changed

8 files changed

+319
-231
lines changed

pymilvus/client/search_result.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from collections import UserDict
23
from typing import Any, Dict, List, Optional, Tuple, Union
34

45
import numpy as np
@@ -98,7 +99,10 @@ def __init__(
9899
if len(highlight_results) > 0:
99100
for i, hit in enumerate(top_k_res):
100101
hit["highlight"] = {
101-
result.field_name: list(result.datas[i + start].fragments)
102+
result.field_name: {
103+
"fragments": list(result.datas[i + start].fragments),
104+
"scores": list(result.datas[i + start].scores),
105+
}
102106
for result in highlight_results
103107
}
104108

@@ -711,9 +715,6 @@ def __str__(self) -> str:
711715
__repr__ = __str__
712716

713717

714-
from collections import UserDict
715-
716-
717718
class Hit(UserDict):
718719
"""Enhanced result in dict that can get data in dict[dict]
719720

pymilvus/grpc_gen/common_pb2.py

Lines changed: 86 additions & 80 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pymilvus/grpc_gen/common_pb2.pyi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,10 +1026,12 @@ class ReplicateCheckpoint(_message.Message):
10261026
def __init__(self, cluster_id: _Optional[str] = ..., pchannel: _Optional[str] = ..., message_id: _Optional[_Union[MessageID, _Mapping]] = ..., time_tick: _Optional[int] = ...) -> None: ...
10271027

10281028
class HighlightData(_message.Message):
1029-
__slots__ = ("fragments",)
1029+
__slots__ = ("fragments", "scores")
10301030
FRAGMENTS_FIELD_NUMBER: _ClassVar[int]
1031+
SCORES_FIELD_NUMBER: _ClassVar[int]
10311032
fragments: _containers.RepeatedScalarFieldContainer[str]
1032-
def __init__(self, fragments: _Optional[_Iterable[str]] = ...) -> None: ...
1033+
scores: _containers.RepeatedScalarFieldContainer[float]
1034+
def __init__(self, fragments: _Optional[_Iterable[str]] = ..., scores: _Optional[_Iterable[float]] = ...) -> None: ...
10331035

10341036
class HighlightResult(_message.Message):
10351037
__slots__ = ("field_name", "datas")

pymilvus/grpc_gen/milvus_pb2.py

Lines changed: 146 additions & 134 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pymilvus/grpc_gen/milvus_pb2.pyi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2989,3 +2989,25 @@ class AlterCollectionSchemaResponse(_message.Message):
29892989
alter_status: _common_pb2.Status
29902990
index_status: _common_pb2.Status
29912991
def __init__(self, alter_status: _Optional[_Union[_common_pb2.Status, _Mapping]] = ..., index_status: _Optional[_Union[_common_pb2.Status, _Mapping]] = ...) -> None: ...
2992+
2993+
class BatchUpdateManifestRequest(_message.Message):
2994+
__slots__ = ("base", "db_name", "collection_name", "field_names", "items")
2995+
BASE_FIELD_NUMBER: _ClassVar[int]
2996+
DB_NAME_FIELD_NUMBER: _ClassVar[int]
2997+
COLLECTION_NAME_FIELD_NUMBER: _ClassVar[int]
2998+
FIELD_NAMES_FIELD_NUMBER: _ClassVar[int]
2999+
ITEMS_FIELD_NUMBER: _ClassVar[int]
3000+
base: _common_pb2.MsgBase
3001+
db_name: str
3002+
collection_name: str
3003+
field_names: _containers.RepeatedScalarFieldContainer[str]
3004+
items: _containers.RepeatedCompositeFieldContainer[BatchUpdateManifestItem]
3005+
def __init__(self, base: _Optional[_Union[_common_pb2.MsgBase, _Mapping]] = ..., db_name: _Optional[str] = ..., collection_name: _Optional[str] = ..., field_names: _Optional[_Iterable[str]] = ..., items: _Optional[_Iterable[_Union[BatchUpdateManifestItem, _Mapping]]] = ...) -> None: ...
3006+
3007+
class BatchUpdateManifestItem(_message.Message):
3008+
__slots__ = ("segment_id", "manifest_version")
3009+
SEGMENT_ID_FIELD_NUMBER: _ClassVar[int]
3010+
MANIFEST_VERSION_FIELD_NUMBER: _ClassVar[int]
3011+
segment_id: int
3012+
manifest_version: int
3013+
def __init__(self, segment_id: _Optional[int] = ..., manifest_version: _Optional[int] = ...) -> None: ...

pymilvus/grpc_gen/milvus_pb2_grpc.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,11 @@ def __init__(self, channel):
651651
request_serializer=milvus__pb2.AlterCollectionSchemaRequest.SerializeToString,
652652
response_deserializer=milvus__pb2.AlterCollectionSchemaResponse.FromString,
653653
)
654+
self.BatchUpdateManifest = channel.unary_unary(
655+
'/milvus.proto.milvus.MilvusService/BatchUpdateManifest',
656+
request_serializer=milvus__pb2.BatchUpdateManifestRequest.SerializeToString,
657+
response_deserializer=common__pb2.Status.FromString,
658+
)
654659

655660

656661
class MilvusServiceServicer(object):
@@ -1425,6 +1430,12 @@ def AlterCollectionSchema(self, request, context):
14251430
context.set_details('Method not implemented!')
14261431
raise NotImplementedError('Method not implemented!')
14271432

1433+
def BatchUpdateManifest(self, request, context):
1434+
"""Missing associated documentation comment in .proto file."""
1435+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1436+
context.set_details('Method not implemented!')
1437+
raise NotImplementedError('Method not implemented!')
1438+
14281439

14291440
def add_MilvusServiceServicer_to_server(servicer, server):
14301441
rpc_method_handlers = {
@@ -2043,6 +2054,11 @@ def add_MilvusServiceServicer_to_server(servicer, server):
20432054
request_deserializer=milvus__pb2.AlterCollectionSchemaRequest.FromString,
20442055
response_serializer=milvus__pb2.AlterCollectionSchemaResponse.SerializeToString,
20452056
),
2057+
'BatchUpdateManifest': grpc.unary_unary_rpc_method_handler(
2058+
servicer.BatchUpdateManifest,
2059+
request_deserializer=milvus__pb2.BatchUpdateManifestRequest.FromString,
2060+
response_serializer=common__pb2.Status.SerializeToString,
2061+
),
20462062
}
20472063
generic_handler = grpc.method_handlers_generic_handler(
20482064
'milvus.proto.milvus.MilvusService', rpc_method_handlers)
@@ -5375,6 +5391,33 @@ def AlterCollectionSchema(request,
53755391
metadata,
53765392
)
53775393

5394+
@staticmethod
5395+
def BatchUpdateManifest(request,
5396+
target,
5397+
options=(),
5398+
channel_credentials=None,
5399+
call_credentials=None,
5400+
insecure=False,
5401+
compression=None,
5402+
wait_for_ready=None,
5403+
timeout=None,
5404+
metadata=None):
5405+
return grpc.experimental.unary_unary(
5406+
request,
5407+
target,
5408+
'/milvus.proto.milvus.MilvusService/BatchUpdateManifest',
5409+
milvus__pb2.BatchUpdateManifestRequest.SerializeToString,
5410+
common__pb2.Status.FromString,
5411+
options,
5412+
channel_credentials,
5413+
insecure,
5414+
call_credentials,
5415+
compression,
5416+
wait_for_ready,
5417+
timeout,
5418+
metadata,
5419+
)
5420+
53785421

53795422
class ProxyServiceStub(object):
53805423
"""Missing associated documentation comment in .proto file."""

pymilvus/grpc_gen/msg_pb2.py

Lines changed: 12 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)