diff --git a/integration/test_collection_decisions.py b/integration/test_collection_decisions.py index 68e497b62..5bc072953 100644 --- a/integration/test_collection_decisions.py +++ b/integration/test_collection_decisions.py @@ -96,6 +96,135 @@ def test_decide_with_every_kind_of_question(collection_factory: CollectionFactor assert list(objs[0].decisions) == ["angry"] +ANGRY = "the customer is angry about billing" +CALM = "all good, thanks" + + +def _texts(objs) -> list: # type: ignore[no-untyped-def] + return [o.properties["text"] for o in objs] + + +# A keyword search that returns both texts: rerank goes with a search, not +# with fetch_objects. +SEARCH = "customer good" + + +def test_rerank_by_a_decision(collection_factory: CollectionFactory) -> None: + collection = _collection(collection_factory) + collection.data.insert_many([{"text": ANGRY}, {"text": CALM}]) + + # The class settings are the defaults: search order, nothing dropped. + objs = collection.query.bm25( + SEARCH, rerank=wvc.query.Rerank.decide(prop="text", query="customer angry") + ).objects + assert {o.properties["text"]: o.metadata.rerank_score for o in objs} == {ANGRY: 1.0, CALM: 0.0} + + # A threshold drops the candidates below it. + objs = collection.query.bm25( + SEARCH, + rerank=wvc.query.Rerank.decide(prop="text", query="customer angry", min_probability=0.6), + ).objects + assert _texts(objs) == [ANGRY] + assert objs[0].metadata.rerank_score == 1.0 + + # "all good, thanks" matches two of three words, the angry text one. + objs = collection.query.bm25( + SEARCH, + rerank=wvc.query.Rerank.decide( + prop="text", + query="good thanks customer", + min_probability=0.3, + order=wvc.query.DecisionsOrder.PROBABILITY, + ), + ).objects + assert _texts(objs) == [CALM, ANGRY] + + # A plain rerank on a class with only a decisions module is a relevance predicate. + objs = collection.query.bm25( + SEARCH, rerank=wvc.query.Rerank(prop="text", query="customer angry") + ).objects + assert {o.properties["text"]: o.metadata.rerank_score for o in objs} == {ANGRY: 1.0, CALM: 0.0} + + +def test_rerank_by_a_decision_takes_the_class_settings( + collection_factory: CollectionFactory, +) -> None: + collection = collection_factory( + decisions_config=wvc.config.Configure.Decisions.custom( + "decisions-dummy", {"minProbability": 0.9, "order": "probability"} + ), + vectorizer_config=wvc.config.Configure.Vectorizer.none(), + properties=[wvc.config.Property(name="text", data_type=wvc.config.DataType.TEXT)], + ) + if "decisions-dummy" not in collection._connection.get_meta()["modules"]: + pytest.skip("the server has no decisions-dummy module") + collection.data.insert_many([{"text": ANGRY}, {"text": CALM}]) + + objs = collection.query.bm25( + SEARCH, rerank=wvc.query.Rerank.decide(prop="text", query="good thanks customer") + ).objects + assert objs == [], "no text has every word" + + # The request overrides the threshold; the class order still applies. + objs = collection.query.bm25( + SEARCH, + rerank=wvc.query.Rerank.decide( + prop="text", query="good thanks customer", min_probability=0.3 + ), + ).objects + assert _texts(objs) == [CALM, ANGRY] + + +def test_rerank_by_a_decision_without_a_decisions_module( + collection_factory: CollectionFactory, +) -> None: + collection = collection_factory( + reranker_config=wvc.config.Configure.Reranker.custom("reranker-dummy"), + vectorizer_config=wvc.config.Configure.Vectorizer.none(), + properties=[wvc.config.Property(name="text", data_type=wvc.config.DataType.TEXT)], + ) + if "decisions-dummy" not in collection._connection.get_meta()["modules"]: + pytest.skip("the server has no decisions-dummy module") + collection.data.insert({"text": "x"}) + + # The server rejects it before the search. + with pytest.raises(WeaviateQueryError, match="no decisions module"): + collection.query.bm25("x", rerank=wvc.query.Rerank.decide(prop="text", query="x")) + + +def test_a_reranker_and_a_decisions_module_on_one_collection( + collection_factory: CollectionFactory, +) -> None: + collection = collection_factory( + reranker_config=wvc.config.Configure.Reranker.custom("reranker-dummy"), + decisions_config=wvc.config.Configure.Decisions.custom("decisions-dummy"), + vectorizer_config=wvc.config.Configure.Vectorizer.none(), + properties=[wvc.config.Property(name="text", data_type=wvc.config.DataType.TEXT)], + ) + if "decisions-dummy" not in collection._connection.get_meta()["modules"]: + pytest.skip("the server has no decisions-dummy module") + collection.data.insert_many([{"text": ANGRY}, {"text": CALM}]) + + # A plain rerank goes to the reranker, which scores by length; decide goes to the + # decisions module. + objs = collection.query.bm25( + "billing good", + rerank=wvc.query.Rerank(prop="text", query="customer angry"), + decide=wvc.query.Decision.predicate("angry", prop="text", instructions="customer angry"), + ).objects + assert _texts(objs) == [ANGRY, CALM] + assert [o.metadata.rerank_score for o in objs] == [float(len(ANGRY)), float(len(CALM))] + assert [o.decisions["angry"].probability for o in objs if o.decisions] == [1.0, 0.0] + + # A decision goes to the decisions module: the probability is the score. + objs = collection.query.bm25( + "billing good", + rerank=wvc.query.Rerank.decide(prop="text", query="customer angry", min_probability=0.6), + ).objects + assert _texts(objs) == [ANGRY] + assert objs[0].metadata.rerank_score == 1.0 + + def test_decide_is_rejected_with_group_by(collection_factory: CollectionFactory) -> None: collection = _collection(collection_factory) collection.data.insert({"text": "x"}) diff --git a/integration/test_collection_decisions_openai.py b/integration/test_collection_decisions_openai.py index cc67ae655..609af8a65 100644 --- a/integration/test_collection_decisions_openai.py +++ b/integration/test_collection_decisions_openai.py @@ -3,7 +3,7 @@ import pytest import weaviate.classes as wvc -from weaviate.collections.classes.config import Decisions, DecisionsQuestion +from weaviate.collections.classes.config import Decisions from .conftest import CollectionFactory @@ -14,9 +14,7 @@ def test_decisions_openai(collection_factory: CollectionFactory) -> None: pytest.skip("No OpenAI API key found.") collection = collection_factory( - decisions_config=wvc.config.Configure.Decisions.openai( - question=DecisionsQuestion.STATEMENT, max_documents=10 - ), + decisions_config=wvc.config.Configure.Decisions.openai(max_documents=10), vectorizer_config=wvc.config.Configure.Vectorizer.none(), properties=[wvc.config.Property(name="text", data_type=wvc.config.DataType.TEXT)], headers={"X-OpenAI-Api-Key": api_key}, @@ -27,7 +25,6 @@ def test_decisions_openai(collection_factory: CollectionFactory) -> None: config = collection.config.get() assert config.decisions_config is not None assert config.decisions_config.decisions == Decisions.OPENAI - assert config.decisions_config.model["question"] == "statement" assert config.decisions_config.model["maxDocuments"] == 10 collection.data.insert_many( diff --git a/mock_tests/test_decisions.py b/mock_tests/test_decisions.py index 81d67a5c5..153400ba8 100644 --- a/mock_tests/test_decisions.py +++ b/mock_tests/test_decisions.py @@ -1,8 +1,9 @@ import pytest +from pydantic import ValidationError import weaviate from mock_tests.conftest import MockDecisionsWeaviateService -from weaviate.classes.query import Decision, GroupBy +from weaviate.classes.query import Decision, GroupBy, Rerank, DecisionsOrder from weaviate.collections.classes.internal import DecisionAnswer from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import search_get_pb2 @@ -122,3 +123,63 @@ def test_decide_is_rejected_before_the_request( decide=QUESTIONS[0], ) assert service.captured_request.collection == "", "nothing was sent" + + +def test_rerank_by_a_decision_is_sent( + decisions_collection: tuple[weaviate.collections.Collection, MockDecisionsWeaviateService], +) -> None: + collection, service = decisions_collection + + collection.query.bm25( + "billing", + rerank=Rerank.decide( + prop="text", query="angry", min_probability=0.6, order=DecisionsOrder.PROBABILITY + ), + ) + sent = service.captured_request.rerank + assert sent.property == "text" + assert sent.query == "angry" + assert sent.decision.min_probability == 0.6 + assert sent.decision.order == search_get_pb2.RerankOrder.RERANK_ORDER_PROBABILITY + + # Unset options are left unset, so the class settings apply. + collection.query.bm25("billing", rerank=Rerank.decide(prop="text", query="angry")) + sent = service.captured_request.rerank + assert sent.HasField("decision") + assert not sent.decision.HasField("min_probability") + assert not sent.decision.HasField("order") + + collection.query.bm25("billing", rerank=Rerank(prop="text", query="angry")) + assert not service.captured_request.rerank.HasField("decision") + + +@pytest.mark.parametrize("min_probability", [-0.1, 1.1]) +def test_rerank_by_a_decision_needs_a_probability(min_probability: float) -> None: + with pytest.raises(ValidationError): + Rerank.decide(prop="text", query="angry", min_probability=min_probability) + + +@pytest.mark.parametrize("query", [None, "", " "]) +def test_rerank_by_a_decision_needs_a_query(query) -> None: + with pytest.raises(WeaviateInvalidInputError, match="Rerank.decide needs the query"): + Rerank.decide(prop="text", query=query) + + +@pytest.mark.parametrize("order", ["PROBABILITY", "random", 2]) +def test_rerank_by_a_decision_names_a_bad_order(order) -> None: + with pytest.raises(WeaviateInvalidInputError, match="order must be one of"): + Rerank.decide(prop="text", query="angry", order=order) + + +def test_rerank_by_a_decision_takes_the_order_as_a_string( + decisions_collection: tuple[weaviate.collections.Collection, MockDecisionsWeaviateService], +) -> None: + collection, service = decisions_collection + order = "probability" + + collection.query.bm25("billing", rerank=Rerank.decide(prop="text", query="angry", order=order)) + + assert ( + service.captured_request.rerank.decision.order + == search_get_pb2.RerankOrder.RERANK_ORDER_PROBABILITY + ) diff --git a/test/collection/test_config.py b/test/collection/test_config.py index f4ec9216e..025e9ac87 100644 --- a/test/collection/test_config.py +++ b/test/collection/test_config.py @@ -17,7 +17,6 @@ _CollectionConfigUpdate, DecisionsOrder, DecisionsProvider, - DecisionsQuestion, _GenerativeProvider, _ReplicationConfig, _ReplicationConfigUpdate, @@ -1444,7 +1443,6 @@ def test_config_with_generative( model="gpt-6-luna", base_url="https://some.base.url/", max_documents=50, - question=DecisionsQuestion.STATEMENT, min_probability=0.6, order=DecisionsOrder.SEARCH, ), @@ -1453,7 +1451,6 @@ def test_config_with_generative( "model": "gpt-6-luna", "baseURL": "https://some.base.url/", "maxDocuments": 50, - "question": "statement", "minProbability": 0.6, "order": "search", }, @@ -1533,9 +1530,9 @@ def test_config_with_a_reranker_and_a_decisions_module() -> None: ( {"decisions-typesafeai": {"minProbability": 0.5}}, _CollectionConfigUpdate( - decisions_config=Reconfigure.Decisions.openai(question=DecisionsQuestion.STATEMENT) + decisions_config=Reconfigure.Decisions.openai(max_documents=20) ), - {"decisions-openai": {"question": "statement"}}, + {"decisions-openai": {"maxDocuments": 20}}, ), ( {"text2vec-contextionary": {}}, diff --git a/weaviate/classes/config.py b/weaviate/classes/config.py index 6b10b3b0f..52bb75b4a 100644 --- a/weaviate/classes/config.py +++ b/weaviate/classes/config.py @@ -6,7 +6,6 @@ DecisionsConfig, DecisionsOrder, DecisionsProvider, - DecisionsQuestion, GenerativeProvider, GenerativeSearches, IndexName, @@ -93,7 +92,6 @@ "DecisionsConfig", "DecisionsOrder", "DecisionsProvider", - "DecisionsQuestion", "RerankerProvider", "Rerankers", "ShardingConfigCreate", diff --git a/weaviate/classes/query.py b/weaviate/classes/query.py index 4d6f85d82..4087a7f79 100644 --- a/weaviate/classes/query.py +++ b/weaviate/classes/query.py @@ -7,8 +7,9 @@ from weaviate.collections.classes.grpc import ( Boost, BoostReturn, - DecideQuestion, Decision, + DecisionQuestion, + DecisionsOrder, Diversity, GroupBy, HybridFusion, @@ -45,7 +46,8 @@ "Boost", "BoostReturn", "Decision", - "DecideQuestion", + "DecisionQuestion", + "DecisionsOrder", "Rerank", "Sort", "TargetVectors", diff --git a/weaviate/collections/classes/config.py b/weaviate/collections/classes/config.py index da1d5502d..f0068d66b 100644 --- a/weaviate/collections/classes/config.py +++ b/weaviate/collections/classes/config.py @@ -82,6 +82,7 @@ _Vectors, _VectorsUpdate, ) +from weaviate.collections.classes.grpc import DecisionsOrder from weaviate.exceptions import WeaviateInsertInvalidPropertyError, WeaviateInvalidInputError from weaviate.str_enum import BaseEnum from weaviate.util import _capitalize_first_letter, docstring_deprecated @@ -678,30 +679,6 @@ class Decisions(str, BaseEnum): OPENAI = "decisions-openai" -class DecisionsOrder(str, BaseEnum): - """How a decisions module orders the results of a `rerank`. - - Attributes: - SEARCH: Keep the order of the search; the probability only decides which results are dropped. - PROBABILITY: Sort by the probability, highest first. - """ - - SEARCH = "search" - PROBABILITY = "probability" - - -class DecisionsQuestion(str, BaseEnum): - """What `decisions-openai` asks the model about every object of a `rerank`. - - Attributes: - RELEVANCE: Whether the object answers the rerank query. - STATEMENT: The rerank query is a statement about the object that the model judges true or false. - """ - - RELEVANCE = "relevance" - STATEMENT = "statement" - - class DecisionsProvider(_ConfigCreateModel): decisions: Union[Decisions, _EnumLikeStr] @@ -730,7 +707,6 @@ class _DecisionsOpenAIConfig(DecisionsProvider): model: Optional[str] baseURL: Optional[AnyHttpUrl] maxDocuments: Optional[int] - question: Optional[DecisionsQuestion] minProbability: Optional[float] order: Optional[DecisionsOrder] @@ -1700,8 +1676,8 @@ def contextualai( class _Decisions: """Use this factory class to create the correct object for the `decisions_config` argument in the `collections.create()` method. - A decisions module answers the `decide` questions of a query for every object returned, and serves the `rerank` - argument as a reranker does. A collection has at most one decisions module next to at most one reranker. + A decisions module answers the `decide` questions of a query for every object returned, and reranks by a + condition with `rerank=Rerank.decide(...)`. A collection has at most one decisions module next to at most one reranker. """ @staticmethod @@ -1721,8 +1697,8 @@ def typesafeai( model: The TypeSafe AI model, for example `jev-latest`. base_url: The base URL to send the requests to. max_documents: The most objects one query may have judged, at most 1000. - min_probability: With `rerank`, drop the results whose probability is below this value. - order: With `rerank`, keep the search order or sort by probability. + min_probability: With `rerank`, drop the results whose probability is below this value. A query's `Rerank.decide` overrides it. + order: With `rerank`, keep the search order or sort by probability. A query's `Rerank.decide` overrides it. """ return _DecisionsTypeSafeAIConfig( model=model, @@ -1740,7 +1716,6 @@ def openai( model: Optional[str] = None, base_url: Optional[str] = None, max_documents: Optional[int] = None, - question: Optional[DecisionsQuestion] = None, min_probability: Optional[float] = None, order: Optional[DecisionsOrder] = None, ) -> DecisionsProvider: @@ -1752,9 +1727,8 @@ def openai( model: The OpenAI decision model, for example `gpt-6-luna`. base_url: The base URL to send the requests to. max_documents: The most objects one query may have judged, at most 1000. Every object is one request to the API. - question: With `rerank`, whether the model judges the relevance of the object to the query or the query as a statement about the object. - min_probability: With `rerank`, drop the results whose probability is below this value. - order: With `rerank`, keep the search order or sort by probability. + min_probability: With `rerank`, drop the results whose probability is below this value. A query's `Rerank.decide` overrides it. + order: With `rerank`, keep the search order or sort by probability. A query's `Rerank.decide` overrides it. """ return _DecisionsOpenAIConfig( model=model, @@ -1762,7 +1736,6 @@ def openai( if base_url is not None else None, maxDocuments=max_documents, - question=question, minProbability=min_probability, order=order, ) diff --git a/weaviate/collections/classes/grpc.py b/weaviate/collections/classes/grpc.py index 53ec56a68..37ce0ac32 100644 --- a/weaviate/collections/classes/grpc.py +++ b/weaviate/collections/classes/grpc.py @@ -264,14 +264,74 @@ def by_update_time(ascending: bool = True) -> Sorting: return _Sorting().by_update_time(ascending=ascending) +class DecisionsOrder(str, BaseEnum): + """The order of the results a decisions module reranks. + + The class default of `decisions_config` and the override of `Rerank.decide` take the same enum; + `Rerank.decide` also accepts the value, `"search"` or `"probability"`. + + Attributes: + SEARCH: Keep the order of the search; the probability only decides which results are dropped. + PROBABILITY: Sort by the probability, highest first. + """ + + SEARCH = "search" + PROBABILITY = "probability" + + class Rerank(_WeaviateInput): - """Define how the query's rerank operation should be performed.""" + """Define how the query's rerank operation should be performed. + + `Rerank(prop, query)` goes to the collection's reranker, or to its decisions module as a relevance question + when the collection has no reranker; `Rerank.decide(...)` goes to the decisions module. + """ prop: str query: Optional[str] = Field(default=None) + @staticmethod + def decide( + prop: str, + query: str, + *, + min_probability: Optional[float] = None, + order: Optional[DecisionsOrder] = None, + ) -> "Rerank": + """Rerank by a decision model. + + The collection's decisions module answers `query` as a yes/no question about every candidate, the + probability is the rerank score, and the candidates below `min_probability` are dropped. The collection + needs a decisions module (`decisions_config`); a reranker it may also have keeps serving `Rerank(...)`. + An argument left `None` takes the class setting of the module. The page can hold fewer objects than + `limit`: the decision model only removes candidates. + + Args: + prop: The property the model judges. + query: The statement the model judges about every candidate. + min_probability: Drop the candidates whose probability is below it, between 0 and 1. + order: Keep the search order or sort by probability, a `DecisionsOrder` or its value. + """ + # A plain Rerank may leave the query to the reranker; a decision has + # nothing to judge without one, and the server would only fail after + # the search. + if not query or not query.strip(): + raise WeaviateInvalidInputError("Rerank.decide needs the query the model judges") + if order is not None and not isinstance(order, DecisionsOrder): + try: + order = DecisionsOrder(order) + except ValueError: + raise WeaviateInvalidInputError( + f"order must be one of {[o.value for o in DecisionsOrder]}, got {order!r}" + ) from None + return _RerankDecide(prop=prop, query=query, min_probability=min_probability, order=order) + + +class _RerankDecide(Rerank): + min_probability: Optional[float] = Field(default=None, ge=0, le=1) + order: Optional[DecisionsOrder] = Field(default=None) + -class DecideQuestion(_WeaviateInput): +class DecisionQuestion(_WeaviateInput): """A question for the collection's decisions module about every object a query returns. Build one with `Decision.predicate`, `Decision.choice` or `Decision.score`. The answer comes back under `name` @@ -283,15 +343,15 @@ class DecideQuestion(_WeaviateInput): instructions: str -class _DecidePredicate(DecideQuestion): +class _DecisionPredicate(DecisionQuestion): pass -class _DecideChoice(DecideQuestion): +class _DecisionChoice(DecisionQuestion): options: Dict[str, Optional[str]] -class _DecideScore(DecideQuestion): +class _DecisionScore(DecisionQuestion): levels: List[Tuple[str, Optional[str]]] @@ -322,11 +382,12 @@ class Decision: The collection's decisions module (`decisions_config`) answers every question for every object the query returns. Each question is about one text property of the objects and has a name that identifies its answer. - `decide` never drops or reorders an object. + `decide` never drops or reorders an object; to filter by a condition, pass `Rerank.decide(...)` as the `rerank` + argument instead. """ @staticmethod - def predicate(name: str, *, prop: str, instructions: str) -> DecideQuestion: + def predicate(name: str, *, prop: str, instructions: str) -> DecisionQuestion: """A yes/no question. The answer is the probability that `instructions` holds for the object. Args: @@ -334,7 +395,7 @@ def predicate(name: str, *, prop: str, instructions: str) -> DecideQuestion: prop: The text property the question is about. instructions: The statement or question to evaluate, for example "the customer is angry". """ - return _DecidePredicate(name=name, prop=prop, instructions=instructions) + return _DecisionPredicate(name=name, prop=prop, instructions=instructions) @staticmethod def choice( @@ -343,7 +404,7 @@ def choice( prop: str, instructions: str, options: Union[Sequence[str], Mapping[str, Optional[str]]], - ) -> DecideQuestion: + ) -> DecisionQuestion: """Pick one of the options. The answer is the chosen option, a probability per option and a confidence. Args: @@ -352,7 +413,7 @@ def choice( instructions: What to decide, for example "which team should handle this ticket?". options: The options, as names or as a mapping of names to descriptions. At least two. """ - return _DecideChoice( + return _DecisionChoice( name=name, prop=prop, instructions=instructions, @@ -366,7 +427,7 @@ def score( prop: str, instructions: str, levels: Union[Sequence[str], Mapping[str, Optional[str]]], - ) -> DecideQuestion: + ) -> DecisionQuestion: """Rate the object on ordered levels, lowest first. The answer is a position between the level indices (0 for the first level), a probability per level and a confidence. @@ -377,12 +438,12 @@ def score( instructions: What to rate, for example "how urgent is this ticket?". levels: The levels from lowest to highest, as labels or as a mapping of labels to descriptions. At least two. """ - return _DecideScore( + return _DecisionScore( name=name, prop=prop, instructions=instructions, levels=_named(levels, "levels") ) -DECIDE = Union[DecideQuestion, Sequence[DecideQuestion]] +DECIDE = Union[DecisionQuestion, Sequence[DecisionQuestion]] @dataclass diff --git a/weaviate/collections/classes/internal.py b/weaviate/collections/classes/internal.py index d78ac447b..8a5699bc1 100644 --- a/weaviate/collections/classes/internal.py +++ b/weaviate/collections/classes/internal.py @@ -132,7 +132,7 @@ class _Object(Generic[P, R, M]): @dataclass class DecisionAnswer: - """The answer of the collection's decisions module to one `Decide` question for one object. + """The answer of the collection's decisions module to one `decide` question for one object. Attributes: name: The name of the question. diff --git a/weaviate/collections/grpc/query.py b/weaviate/collections/grpc/query.py index 6a1f109dc..cc4aee233 100644 --- a/weaviate/collections/grpc/query.py +++ b/weaviate/collections/grpc/query.py @@ -25,7 +25,8 @@ REFERENCE, REFERENCES, BM25OperatorOptions, - DecideQuestion, + DecisionQuestion, + DecisionsOrder, HybridFusion, HybridVectorType, Move, @@ -36,11 +37,12 @@ _Boost, _BoostCurve, _BoostModifier, - _DecideChoice, - _DecideScore, + _DecisionChoice, + _DecisionScore, _MetadataQuery, _QueryReference, _QueryReferenceMultiTarget, + _RerankDecide, _Sorting, ) from weaviate.collections.classes.internal import ( @@ -476,7 +478,7 @@ def __create_request( _ValidateArgument([_MetadataQuery, None], "metadata", metadata), _ValidateArgument([_Generative, None], "generative", generative), _ValidateArgument([Rerank, None], "rerank", rerank), - _ValidateArgument([DecideQuestion, Sequence, None], "decide", decide), + _ValidateArgument([DecisionQuestion, Sequence, None], "decide", decide), _ValidateArgument([int, None], "autocut", autocut), _ValidateArgument([_GroupBy, None], "group_by", group_by), _ValidateArgument( @@ -543,11 +545,7 @@ def __create_request( generative.to_grpc(self._weaviate_version) if generative is not None else None ), group_by=group_by.to_grpc() if group_by is not None else None, - rerank=( - search_get_pb2.Rerank(property=rerank.prop, query=rerank.query) - if rerank is not None - else None - ), + rerank=(self.__rerank_to_grpc(rerank) if rerank is not None else None), decide=self.__decide_to_grpc(decide), boost=self.__boost_to_grpc(boost), near_vector=near_vector, @@ -592,23 +590,39 @@ def _metadata_to_grpc(self, metadata: _MetadataQuery) -> search_get_pb2.Metadata _BoostModifier.SQRT: _Boost_pb2.PROPERTY_VALUE_MODIFIER_SQRT, } + @staticmethod + def __rerank_to_grpc(rerank: Rerank) -> search_get_pb2.Rerank: + out = search_get_pb2.Rerank(property=rerank.prop, query=rerank.query) + if isinstance(rerank, _RerankDecide): + # An unset field is left unset, so the class setting applies. + decision = search_get_pb2.RerankDecision() + if rerank.min_probability is not None: + decision.min_probability = rerank.min_probability + if rerank.order is not None: + decision.order = { + DecisionsOrder.SEARCH: search_get_pb2.RerankOrder.RERANK_ORDER_SEARCH, + DecisionsOrder.PROBABILITY: search_get_pb2.RerankOrder.RERANK_ORDER_PROBABILITY, + }[rerank.order] + out.decision.CopyFrom(decision) + return out + @staticmethod def __decide_to_grpc(decide: Optional[DECIDE]) -> Optional[decisions_pb2.Decisions]: if decide is None: return None - questions = [decide] if isinstance(decide, DecideQuestion) else list(decide) + questions = [decide] if isinstance(decide, DecisionQuestion) else list(decide) if len(questions) == 0: raise WeaviateInvalidInputError("decide needs at least one question") out = [] for question in questions: - if not isinstance(question, DecideQuestion): + if not isinstance(question, DecisionQuestion): raise WeaviateInvalidInputError( - f"decide must hold DecideQuestion objects built with Decision, got {type(question).__name__}" + f"decide must hold DecisionQuestion objects built with Decision, got {type(question).__name__}" ) message = decisions_pb2.DecisionQuestion( name=question.name, property=question.prop, instructions=question.instructions ) - if isinstance(question, _DecideChoice): + if isinstance(question, _DecisionChoice): message.choice.CopyFrom( decisions_pb2.DecisionChoice( options=[ @@ -617,7 +631,7 @@ def __decide_to_grpc(decide: Optional[DECIDE]) -> Optional[decisions_pb2.Decisio ] ) ) - elif isinstance(question, _DecideScore): + elif isinstance(question, _DecisionScore): message.score.CopyFrom( decisions_pb2.DecisionScore( levels=[ diff --git a/weaviate/proto/v1/v4216/v1/search_get_pb2.py b/weaviate/proto/v1/v4216/v1/search_get_pb2.py index dd16fe3d7..135024bcc 100644 --- a/weaviate/proto/v1/v4216/v1/search_get_pb2.py +++ b/weaviate/proto/v1/v4216/v1/search_get_pb2.py @@ -18,7 +18,7 @@ from weaviate.proto.v1.v4216.v1 import properties_pb2 as v1_dot_properties__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"8\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_query\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depthBs\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"y\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x32\n\x08\x64\x65\x63ision\x18\x03 \x01(\x0b\x32\x1b.weaviate.v1.RerankDecisionH\x01\x88\x01\x01\x42\x08\n\x06_queryB\x0b\n\t_decision\"z\n\x0eRerankDecision\x12\x1c\n\x0fmin_probability\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12,\n\x05order\x18\x02 \x01(\x0e\x32\x18.weaviate.v1.RerankOrderH\x01\x88\x01\x01\x42\x12\n\x10_min_probabilityB\x08\n\x06_order\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depth*b\n\x0bRerankOrder\x12\x1c\n\x18RERANK_ORDER_UNSPECIFIED\x10\x00\x12\x17\n\x13RERANK_ORDER_SEARCH\x10\x01\x12\x1c\n\x18RERANK_ORDER_PROBABILITY\x10\x02\x42s\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -44,6 +44,8 @@ _METADATARESULT.fields_by_name['generative']._serialized_options = b'\030\001' _METADATARESULT.fields_by_name['generative_present']._options = None _METADATARESULT.fields_by_name['generative_present']._serialized_options = b'\030\001' + _globals['_RERANKORDER']._serialized_start=6471 + _globals['_RERANKORDER']._serialized_end=6569 _globals['_SEARCHREQUEST']._serialized_start=136 _globals['_SEARCHREQUEST']._serialized_end=1678 _globals['_GROUPBY']._serialized_start=1680 @@ -59,43 +61,45 @@ _globals['_REFPROPERTIESREQUEST']._serialized_start=2403 _globals['_REFPROPERTIESREQUEST']._serialized_end=2580 _globals['_RERANK']._serialized_start=2582 - _globals['_RERANK']._serialized_end=2638 - _globals['_SEARCHREPLY']._serialized_start=2641 - _globals['_SEARCHREPLY']._serialized_end=3016 - _globals['_QUERYPROFILE']._serialized_start=3019 - _globals['_QUERYPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3092 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3226 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3180 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3226 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3229 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3345 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3433 - _globals['_RERANKREPLY']._serialized_start=3435 - _globals['_RERANKREPLY']._serialized_end=3463 - _globals['_GROUPBYRESULT']._serialized_start=3466 - _globals['_GROUPBYRESULT']._serialized_end=3827 - _globals['_SEARCHRESULT']._serialized_start=3830 - _globals['_SEARCHRESULT']._serialized_end=4080 - _globals['_METADATARESULT']._serialized_start=4083 - _globals['_METADATARESULT']._serialized_end=4714 - _globals['_PROPERTIESRESULT']._serialized_start=4717 - _globals['_PROPERTIESRESULT']._serialized_end=4981 - _globals['_REFPROPERTIESRESULT']._serialized_start=4983 - _globals['_REFPROPERTIESRESULT']._serialized_end=5074 - _globals['_BOOST']._serialized_start=5077 - _globals['_BOOST']._serialized_end=6280 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5177 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5296 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5299 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5502 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5505 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5711 - _globals['_BOOST_CONDITION']._serialized_start=5714 - _globals['_BOOST_CONDITION']._serialized_end=6004 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6007 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6140 - _globals['_BOOST_DECAYCURVE']._serialized_start=6142 - _globals['_BOOST_DECAYCURVE']._serialized_end=6259 + _globals['_RERANK']._serialized_end=2703 + _globals['_RERANKDECISION']._serialized_start=2705 + _globals['_RERANKDECISION']._serialized_end=2827 + _globals['_SEARCHREPLY']._serialized_start=2830 + _globals['_SEARCHREPLY']._serialized_end=3205 + _globals['_QUERYPROFILE']._serialized_start=3208 + _globals['_QUERYPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3281 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3415 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3369 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3415 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3418 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3534 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3622 + _globals['_RERANKREPLY']._serialized_start=3624 + _globals['_RERANKREPLY']._serialized_end=3652 + _globals['_GROUPBYRESULT']._serialized_start=3655 + _globals['_GROUPBYRESULT']._serialized_end=4016 + _globals['_SEARCHRESULT']._serialized_start=4019 + _globals['_SEARCHRESULT']._serialized_end=4269 + _globals['_METADATARESULT']._serialized_start=4272 + _globals['_METADATARESULT']._serialized_end=4903 + _globals['_PROPERTIESRESULT']._serialized_start=4906 + _globals['_PROPERTIESRESULT']._serialized_end=5170 + _globals['_REFPROPERTIESRESULT']._serialized_start=5172 + _globals['_REFPROPERTIESRESULT']._serialized_end=5263 + _globals['_BOOST']._serialized_start=5266 + _globals['_BOOST']._serialized_end=6469 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5366 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5485 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5488 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5691 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5694 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5900 + _globals['_BOOST_CONDITION']._serialized_start=5903 + _globals['_BOOST_CONDITION']._serialized_end=6193 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6196 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6329 + _globals['_BOOST_DECAYCURVE']._serialized_start=6331 + _globals['_BOOST_DECAYCURVE']._serialized_end=6448 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v4216/v1/search_get_pb2.pyi b/weaviate/proto/v1/v4216/v1/search_get_pb2.pyi index 1e6d0466f..15509dc87 100644 --- a/weaviate/proto/v1/v4216/v1/search_get_pb2.pyi +++ b/weaviate/proto/v1/v4216/v1/search_get_pb2.pyi @@ -11,6 +11,15 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class RerankOrder(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + RERANK_ORDER_UNSPECIFIED: _ClassVar[RerankOrder] + RERANK_ORDER_SEARCH: _ClassVar[RerankOrder] + RERANK_ORDER_PROBABILITY: _ClassVar[RerankOrder] +RERANK_ORDER_UNSPECIFIED: RerankOrder +RERANK_ORDER_SEARCH: RerankOrder +RERANK_ORDER_PROBABILITY: RerankOrder + class SearchRequest(_message.Message): __slots__ = ["collection", "tenant", "consistency_level", "properties", "metadata", "group_by", "limit", "offset", "autocut", "after", "sort_by", "filters", "hybrid_search", "bm25_search", "near_vector", "near_object", "near_text", "near_image", "near_audio", "near_video", "near_depth", "near_thermal", "near_imu", "generative", "rerank", "decide", "boost", "uses_123_api", "uses_125_api", "uses_127_api"] COLLECTION_FIELD_NUMBER: _ClassVar[int] @@ -154,12 +163,22 @@ class RefPropertiesRequest(_message.Message): def __init__(self, reference_property: _Optional[str] = ..., properties: _Optional[_Union[PropertiesRequest, _Mapping]] = ..., metadata: _Optional[_Union[MetadataRequest, _Mapping]] = ..., target_collection: _Optional[str] = ...) -> None: ... class Rerank(_message.Message): - __slots__ = ["property", "query"] + __slots__ = ["property", "query", "decision"] PROPERTY_FIELD_NUMBER: _ClassVar[int] QUERY_FIELD_NUMBER: _ClassVar[int] + DECISION_FIELD_NUMBER: _ClassVar[int] property: str query: str - def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ...) -> None: ... + decision: RerankDecision + def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ..., decision: _Optional[_Union[RerankDecision, _Mapping]] = ...) -> None: ... + +class RerankDecision(_message.Message): + __slots__ = ["min_probability", "order"] + MIN_PROBABILITY_FIELD_NUMBER: _ClassVar[int] + ORDER_FIELD_NUMBER: _ClassVar[int] + min_probability: float + order: RerankOrder + def __init__(self, min_probability: _Optional[float] = ..., order: _Optional[_Union[RerankOrder, str]] = ...) -> None: ... class SearchReply(_message.Message): __slots__ = ["took", "results", "generative_grouped_result", "group_by_results", "generative_grouped_results", "query_profile"] diff --git a/weaviate/proto/v1/v5261/v1/search_get_pb2.py b/weaviate/proto/v1/v5261/v1/search_get_pb2.py index 54939a3f0..04dfd4010 100644 --- a/weaviate/proto/v1/v5261/v1/search_get_pb2.py +++ b/weaviate/proto/v1/v5261/v1/search_get_pb2.py @@ -19,7 +19,7 @@ from weaviate.proto.v1.v5261.v1 import properties_pb2 as v1_dot_properties__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"8\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_query\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depthBs\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"y\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x32\n\x08\x64\x65\x63ision\x18\x03 \x01(\x0b\x32\x1b.weaviate.v1.RerankDecisionH\x01\x88\x01\x01\x42\x08\n\x06_queryB\x0b\n\t_decision\"z\n\x0eRerankDecision\x12\x1c\n\x0fmin_probability\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12,\n\x05order\x18\x02 \x01(\x0e\x32\x18.weaviate.v1.RerankOrderH\x01\x88\x01\x01\x42\x12\n\x10_min_probabilityB\x08\n\x06_order\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depth*b\n\x0bRerankOrder\x12\x1c\n\x18RERANK_ORDER_UNSPECIFIED\x10\x00\x12\x17\n\x13RERANK_ORDER_SEARCH\x10\x01\x12\x1c\n\x18RERANK_ORDER_PROBABILITY\x10\x02\x42s\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -45,6 +45,8 @@ _globals['_METADATARESULT'].fields_by_name['generative']._serialized_options = b'\030\001' _globals['_METADATARESULT'].fields_by_name['generative_present']._loaded_options = None _globals['_METADATARESULT'].fields_by_name['generative_present']._serialized_options = b'\030\001' + _globals['_RERANKORDER']._serialized_start=6471 + _globals['_RERANKORDER']._serialized_end=6569 _globals['_SEARCHREQUEST']._serialized_start=136 _globals['_SEARCHREQUEST']._serialized_end=1678 _globals['_GROUPBY']._serialized_start=1680 @@ -60,43 +62,45 @@ _globals['_REFPROPERTIESREQUEST']._serialized_start=2403 _globals['_REFPROPERTIESREQUEST']._serialized_end=2580 _globals['_RERANK']._serialized_start=2582 - _globals['_RERANK']._serialized_end=2638 - _globals['_SEARCHREPLY']._serialized_start=2641 - _globals['_SEARCHREPLY']._serialized_end=3016 - _globals['_QUERYPROFILE']._serialized_start=3019 - _globals['_QUERYPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3092 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3226 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3180 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3226 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3229 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3345 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3433 - _globals['_RERANKREPLY']._serialized_start=3435 - _globals['_RERANKREPLY']._serialized_end=3463 - _globals['_GROUPBYRESULT']._serialized_start=3466 - _globals['_GROUPBYRESULT']._serialized_end=3827 - _globals['_SEARCHRESULT']._serialized_start=3830 - _globals['_SEARCHRESULT']._serialized_end=4080 - _globals['_METADATARESULT']._serialized_start=4083 - _globals['_METADATARESULT']._serialized_end=4714 - _globals['_PROPERTIESRESULT']._serialized_start=4717 - _globals['_PROPERTIESRESULT']._serialized_end=4981 - _globals['_REFPROPERTIESRESULT']._serialized_start=4983 - _globals['_REFPROPERTIESRESULT']._serialized_end=5074 - _globals['_BOOST']._serialized_start=5077 - _globals['_BOOST']._serialized_end=6280 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5177 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5296 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5299 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5502 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5505 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5711 - _globals['_BOOST_CONDITION']._serialized_start=5714 - _globals['_BOOST_CONDITION']._serialized_end=6004 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6007 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6140 - _globals['_BOOST_DECAYCURVE']._serialized_start=6142 - _globals['_BOOST_DECAYCURVE']._serialized_end=6259 + _globals['_RERANK']._serialized_end=2703 + _globals['_RERANKDECISION']._serialized_start=2705 + _globals['_RERANKDECISION']._serialized_end=2827 + _globals['_SEARCHREPLY']._serialized_start=2830 + _globals['_SEARCHREPLY']._serialized_end=3205 + _globals['_QUERYPROFILE']._serialized_start=3208 + _globals['_QUERYPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3281 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3415 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3369 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3415 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3418 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3534 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3622 + _globals['_RERANKREPLY']._serialized_start=3624 + _globals['_RERANKREPLY']._serialized_end=3652 + _globals['_GROUPBYRESULT']._serialized_start=3655 + _globals['_GROUPBYRESULT']._serialized_end=4016 + _globals['_SEARCHRESULT']._serialized_start=4019 + _globals['_SEARCHRESULT']._serialized_end=4269 + _globals['_METADATARESULT']._serialized_start=4272 + _globals['_METADATARESULT']._serialized_end=4903 + _globals['_PROPERTIESRESULT']._serialized_start=4906 + _globals['_PROPERTIESRESULT']._serialized_end=5170 + _globals['_REFPROPERTIESRESULT']._serialized_start=5172 + _globals['_REFPROPERTIESRESULT']._serialized_end=5263 + _globals['_BOOST']._serialized_start=5266 + _globals['_BOOST']._serialized_end=6469 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5366 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5485 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5488 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5691 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5694 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5900 + _globals['_BOOST_CONDITION']._serialized_start=5903 + _globals['_BOOST_CONDITION']._serialized_end=6193 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6196 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6329 + _globals['_BOOST_DECAYCURVE']._serialized_start=6331 + _globals['_BOOST_DECAYCURVE']._serialized_end=6448 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v5261/v1/search_get_pb2.pyi b/weaviate/proto/v1/v5261/v1/search_get_pb2.pyi index dec00b270..dfcc04ddd 100644 --- a/weaviate/proto/v1/v5261/v1/search_get_pb2.pyi +++ b/weaviate/proto/v1/v5261/v1/search_get_pb2.pyi @@ -11,6 +11,15 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class RerankOrder(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RERANK_ORDER_UNSPECIFIED: _ClassVar[RerankOrder] + RERANK_ORDER_SEARCH: _ClassVar[RerankOrder] + RERANK_ORDER_PROBABILITY: _ClassVar[RerankOrder] +RERANK_ORDER_UNSPECIFIED: RerankOrder +RERANK_ORDER_SEARCH: RerankOrder +RERANK_ORDER_PROBABILITY: RerankOrder + class SearchRequest(_message.Message): __slots__ = ("collection", "tenant", "consistency_level", "properties", "metadata", "group_by", "limit", "offset", "autocut", "after", "sort_by", "filters", "hybrid_search", "bm25_search", "near_vector", "near_object", "near_text", "near_image", "near_audio", "near_video", "near_depth", "near_thermal", "near_imu", "generative", "rerank", "decide", "boost", "uses_123_api", "uses_125_api", "uses_127_api") COLLECTION_FIELD_NUMBER: _ClassVar[int] @@ -154,12 +163,22 @@ class RefPropertiesRequest(_message.Message): def __init__(self, reference_property: _Optional[str] = ..., properties: _Optional[_Union[PropertiesRequest, _Mapping]] = ..., metadata: _Optional[_Union[MetadataRequest, _Mapping]] = ..., target_collection: _Optional[str] = ...) -> None: ... class Rerank(_message.Message): - __slots__ = ("property", "query") + __slots__ = ("property", "query", "decision") PROPERTY_FIELD_NUMBER: _ClassVar[int] QUERY_FIELD_NUMBER: _ClassVar[int] + DECISION_FIELD_NUMBER: _ClassVar[int] property: str query: str - def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ...) -> None: ... + decision: RerankDecision + def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ..., decision: _Optional[_Union[RerankDecision, _Mapping]] = ...) -> None: ... + +class RerankDecision(_message.Message): + __slots__ = ("min_probability", "order") + MIN_PROBABILITY_FIELD_NUMBER: _ClassVar[int] + ORDER_FIELD_NUMBER: _ClassVar[int] + min_probability: float + order: RerankOrder + def __init__(self, min_probability: _Optional[float] = ..., order: _Optional[_Union[RerankOrder, str]] = ...) -> None: ... class SearchReply(_message.Message): __slots__ = ("took", "results", "generative_grouped_result", "group_by_results", "generative_grouped_results", "query_profile") diff --git a/weaviate/proto/v1/v6300/v1/search_get_pb2.py b/weaviate/proto/v1/v6300/v1/search_get_pb2.py index 38ba097b9..c46d9c3a4 100644 --- a/weaviate/proto/v1/v6300/v1/search_get_pb2.py +++ b/weaviate/proto/v1/v6300/v1/search_get_pb2.py @@ -29,7 +29,7 @@ from weaviate.proto.v1.v6300.v1 import properties_pb2 as v1_dot_properties__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"8\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_query\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depthBs\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13v1/search_get.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\x1a\x14v1/base_search.proto\x1a\x13v1/generative.proto\x1a\x12v1/decisions.proto\x1a\x13v1/properties.proto\"\x86\x0c\n\rSearchRequest\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x0e\n\x06tenant\x18\n \x01(\t\x12=\n\x11\x63onsistency_level\x18\x0b \x01(\x0e\x32\x1d.weaviate.v1.ConsistencyLevelH\x00\x88\x01\x01\x12\x37\n\nproperties\x18\x14 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequestH\x01\x88\x01\x01\x12\x33\n\x08metadata\x18\x15 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequestH\x02\x88\x01\x01\x12+\n\x08group_by\x18\x16 \x01(\x0b\x32\x14.weaviate.v1.GroupByH\x03\x88\x01\x01\x12\r\n\x05limit\x18\x1e \x01(\r\x12\x0e\n\x06offset\x18\x1f \x01(\r\x12\x0f\n\x07\x61utocut\x18 \x01(\r\x12\r\n\x05\x61\x66ter\x18! \x01(\t\x12$\n\x07sort_by\x18\" \x03(\x0b\x32\x13.weaviate.v1.SortBy\x12*\n\x07\x66ilters\x18( \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x04\x88\x01\x01\x12/\n\rhybrid_search\x18) \x01(\x0b\x32\x13.weaviate.v1.HybridH\x05\x88\x01\x01\x12+\n\x0b\x62m25_search\x18* \x01(\x0b\x32\x11.weaviate.v1.BM25H\x06\x88\x01\x01\x12\x31\n\x0bnear_vector\x18+ \x01(\x0b\x32\x17.weaviate.v1.NearVectorH\x07\x88\x01\x01\x12\x31\n\x0bnear_object\x18, \x01(\x0b\x32\x17.weaviate.v1.NearObjectH\x08\x88\x01\x01\x12\x33\n\tnear_text\x18- \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearchH\t\x88\x01\x01\x12\x35\n\nnear_image\x18. \x01(\x0b\x32\x1c.weaviate.v1.NearImageSearchH\n\x88\x01\x01\x12\x35\n\nnear_audio\x18/ \x01(\x0b\x32\x1c.weaviate.v1.NearAudioSearchH\x0b\x88\x01\x01\x12\x35\n\nnear_video\x18\x30 \x01(\x0b\x32\x1c.weaviate.v1.NearVideoSearchH\x0c\x88\x01\x01\x12\x35\n\nnear_depth\x18\x31 \x01(\x0b\x32\x1c.weaviate.v1.NearDepthSearchH\r\x88\x01\x01\x12\x39\n\x0cnear_thermal\x18\x32 \x01(\x0b\x32\x1e.weaviate.v1.NearThermalSearchH\x0e\x88\x01\x01\x12\x31\n\x08near_imu\x18\x33 \x01(\x0b\x32\x1a.weaviate.v1.NearIMUSearchH\x0f\x88\x01\x01\x12\x36\n\ngenerative\x18< \x01(\x0b\x32\x1d.weaviate.v1.GenerativeSearchH\x10\x88\x01\x01\x12(\n\x06rerank\x18= \x01(\x0b\x32\x13.weaviate.v1.RerankH\x11\x88\x01\x01\x12+\n\x06\x64\x65\x63ide\x18? \x01(\x0b\x32\x16.weaviate.v1.DecisionsH\x12\x88\x01\x01\x12&\n\x05\x62oost\x18> \x01(\x0b\x32\x12.weaviate.v1.BoostH\x13\x88\x01\x01\x12\x18\n\x0cuses_123_api\x18\x64 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x0cuses_125_api\x18\x65 \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cuses_127_api\x18\x66 \x01(\x08\x42\x14\n\x12_consistency_levelB\r\n\x0b_propertiesB\x0b\n\t_metadataB\x0b\n\t_group_byB\n\n\x08_filtersB\x10\n\x0e_hybrid_searchB\x0e\n\x0c_bm25_searchB\x0e\n\x0c_near_vectorB\x0e\n\x0c_near_objectB\x0c\n\n_near_textB\r\n\x0b_near_imageB\r\n\x0b_near_audioB\r\n\x0b_near_videoB\r\n\x0b_near_depthB\x0f\n\r_near_thermalB\x0b\n\t_near_imuB\r\n\x0b_generativeB\t\n\x07_rerankB\t\n\x07_decideB\x08\n\x06_boost\"L\n\x07GroupBy\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\x18\n\x10number_of_groups\x18\x02 \x01(\x05\x12\x19\n\x11objects_per_group\x18\x03 \x01(\x05\")\n\x06SortBy\x12\x11\n\tascending\x18\x01 \x01(\x08\x12\x0c\n\x04path\x18\x02 \x03(\t\"\xf4\x01\n\x0fMetadataRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x15\n\rexplain_score\x18\x08 \x01(\x08\x12\x15\n\ris_consistent\x18\t \x01(\x08\x12\x0f\n\x07vectors\x18\n \x03(\t\x12\x15\n\rquery_profile\x18\x0b \x01(\x08\"\xd1\x01\n\x11PropertiesRequest\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x39\n\x0eref_properties\x18\x02 \x03(\x0b\x32!.weaviate.v1.RefPropertiesRequest\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\x12$\n\x1creturn_all_nonref_properties\x18\x0b \x01(\x08\"\x8b\x01\n\x17ObjectPropertiesRequest\x12\x11\n\tprop_name\x18\x01 \x01(\t\x12\x1c\n\x14primitive_properties\x18\x02 \x03(\t\x12?\n\x11object_properties\x18\x03 \x03(\x0b\x32$.weaviate.v1.ObjectPropertiesRequest\"\xb1\x01\n\x14RefPropertiesRequest\x12\x1a\n\x12reference_property\x18\x01 \x01(\t\x12\x32\n\nproperties\x18\x02 \x01(\x0b\x32\x1e.weaviate.v1.PropertiesRequest\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x1c.weaviate.v1.MetadataRequest\x12\x19\n\x11target_collection\x18\x04 \x01(\t\"y\n\x06Rerank\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x12\n\x05query\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x32\n\x08\x64\x65\x63ision\x18\x03 \x01(\x0b\x32\x1b.weaviate.v1.RerankDecisionH\x01\x88\x01\x01\x42\x08\n\x06_queryB\x0b\n\t_decision\"z\n\x0eRerankDecision\x12\x1c\n\x0fmin_probability\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12,\n\x05order\x18\x02 \x01(\x0e\x32\x18.weaviate.v1.RerankOrderH\x01\x88\x01\x01\x42\x12\n\x10_min_probabilityB\x08\n\x06_order\"\xf7\x02\n\x0bSearchReply\x12\x0c\n\x04took\x18\x01 \x01(\x02\x12*\n\x07results\x18\x02 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12*\n\x19generative_grouped_result\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x34\n\x10group_by_results\x18\x04 \x03(\x0b\x32\x1a.weaviate.v1.GroupByResult\x12\x46\n\x1agenerative_grouped_results\x18\x05 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x01\x88\x01\x01\x12\x35\n\rquery_profile\x18\x06 \x01(\x0b\x32\x19.weaviate.v1.QueryProfileH\x02\x88\x01\x01\x42\x1c\n\x1a_generative_grouped_resultB\x1d\n\x1b_generative_grouped_resultsB\x10\n\x0e_query_profile\"\x9e\x03\n\x0cQueryProfile\x12\x36\n\x06shards\x18\x01 \x03(\x0b\x32&.weaviate.v1.QueryProfile.ShardProfile\x1a\x86\x01\n\rSearchProfile\x12\x45\n\x07\x64\x65tails\x18\x01 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.SearchProfile.DetailsEntry\x1a.\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcc\x01\n\x0cShardProfile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x46\n\x08searches\x18\x03 \x03(\x0b\x32\x34.weaviate.v1.QueryProfile.ShardProfile.SearchesEntry\x1aX\n\rSearchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.weaviate.v1.QueryProfile.SearchProfile:\x02\x38\x01\"\x1c\n\x0bRerankReply\x12\r\n\x05score\x18\x01 \x01(\x01\"\xe9\x02\n\rGroupByResult\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cmin_distance\x18\x02 \x01(\x02\x12\x14\n\x0cmax_distance\x18\x03 \x01(\x02\x12\x19\n\x11number_of_objects\x18\x04 \x01(\x03\x12*\n\x07objects\x18\x05 \x03(\x0b\x32\x19.weaviate.v1.SearchResult\x12-\n\x06rerank\x18\x06 \x01(\x0b\x32\x18.weaviate.v1.RerankReplyH\x00\x88\x01\x01\x12\x39\n\ngenerative\x18\x07 \x01(\x0b\x32\x1c.weaviate.v1.GenerativeReplyB\x02\x18\x01H\x01\x88\x01\x01\x12=\n\x11generative_result\x18\x08 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x02\x88\x01\x01\x42\t\n\x07_rerankB\r\n\x0b_generativeB\x14\n\x12_generative_result\"\xfa\x01\n\x0cSearchResult\x12\x31\n\nproperties\x18\x01 \x01(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12\x36\n\ngenerative\x18\x03 \x01(\x0b\x32\x1d.weaviate.v1.GenerativeResultH\x00\x88\x01\x01\x12\x33\n\tdecisions\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.DecisionResultH\x01\x88\x01\x01\x42\r\n\x0b_generativeB\x0c\n\n_decisions\"\xf7\x04\n\x0eMetadataResult\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\x06vector\x18\x02 \x03(\x02\x42\x02\x18\x01\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x03\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x03\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\x12\x1a\n\ris_consistent\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12\x16\n\ngenerative\x18\x10 \x01(\tB\x02\x18\x01\x12\x1e\n\x12generative_present\x18\x11 \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15is_consistent_present\x18\x12 \x01(\x08\x12\x14\n\x0cvector_bytes\x18\x13 \x01(\x0c\x12\x13\n\x0bid_as_bytes\x18\x14 \x01(\x0c\x12\x14\n\x0crerank_score\x18\x15 \x01(\x01\x12\x1c\n\x14rerank_score_present\x18\x16 \x01(\x08\x12%\n\x07vectors\x18\x17 \x03(\x0b\x32\x14.weaviate.v1.VectorsB\x10\n\x0e_is_consistent\"\x88\x02\n\x10PropertiesResult\x12\x33\n\tref_props\x18\x02 \x03(\x0b\x32 .weaviate.v1.RefPropertiesResult\x12\x19\n\x11target_collection\x18\x03 \x01(\t\x12-\n\x08metadata\x18\x04 \x01(\x0b\x32\x1b.weaviate.v1.MetadataResult\x12.\n\rnon_ref_props\x18\x0b \x01(\x0b\x32\x17.weaviate.v1.Properties\x12\x1b\n\x13ref_props_requested\x18\x0c \x01(\x08J\x04\x08\x01\x10\x02J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"[\n\x13RefPropertiesResult\x12\x31\n\nproperties\x18\x01 \x03(\x0b\x32\x1d.weaviate.v1.PropertiesResult\x12\x11\n\tprop_name\x18\x02 \x01(\t\"\xb3\t\n\x05\x42oost\x12\x30\n\nconditions\x18\x01 \x03(\x0b\x32\x1c.weaviate.v1.Boost.Condition\x12\x13\n\x06weight\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05\x64\x65pth\x18\x03 \x01(\rH\x01\x88\x01\x01\x1aw\n\x15PropertyValueFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12?\n\x08modifier\x18\x02 \x01(\x0e\x32(.weaviate.v1.Boost.PropertyValueModifierH\x00\x88\x01\x01\x42\x0b\n\t_modifier\x1a\xcb\x01\n\x11TimeDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\r\n\x05scale\x18\x03 \x01(\t\x12\x13\n\x06offset\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xce\x01\n\x14NumericDecayFunction\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06origin\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x13\n\x06offset\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x31\n\x05\x63urve\x18\x05 \x01(\x0e\x32\x1d.weaviate.v1.Boost.DecayCurveH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65\x63\x61y_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_curveB\x0e\n\x0c_decay_value\x1a\xa2\x02\n\tCondition\x12&\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x14.weaviate.v1.FiltersH\x00\x12:\n\ntime_decay\x18\x02 \x01(\x0b\x32$.weaviate.v1.Boost.TimeDecayFunctionH\x00\x12\x42\n\x0eproperty_value\x18\x03 \x01(\x0b\x32(.weaviate.v1.Boost.PropertyValueFunctionH\x00\x12@\n\rnumeric_decay\x18\x04 \x01(\x0b\x32\'.weaviate.v1.Boost.NumericDecayFunctionH\x00\x12\x13\n\x06weight\x18\x05 \x01(\x02H\x01\x88\x01\x01\x42\x0b\n\tconditionB\t\n\x07_weight\"\x85\x01\n\x15PropertyValueModifier\x12\'\n#PROPERTY_VALUE_MODIFIER_UNSPECIFIED\x10\x00\x12!\n\x1dPROPERTY_VALUE_MODIFIER_LOG1P\x10\x01\x12 \n\x1cPROPERTY_VALUE_MODIFIER_SQRT\x10\x02\"u\n\nDecayCurve\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x45\x43\x41Y_CURVE_GAUSS\x10\x01\x12\x16\n\x12\x44\x45\x43\x41Y_CURVE_LINEAR\x10\x02\x12\x1b\n\x17\x44\x45\x43\x41Y_CURVE_EXPONENTIAL\x10\x03\x42\t\n\x07_weightB\x08\n\x06_depth*b\n\x0bRerankOrder\x12\x1c\n\x18RERANK_ORDER_UNSPECIFIED\x10\x00\x12\x17\n\x13RERANK_ORDER_SEARCH\x10\x01\x12\x1c\n\x18RERANK_ORDER_PROBABILITY\x10\x02\x42s\n#io.weaviate.client.grpc.protocol.v1B\x16WeaviateProtoSearchGetZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -55,6 +55,8 @@ _globals['_METADATARESULT'].fields_by_name['generative']._serialized_options = b'\030\001' _globals['_METADATARESULT'].fields_by_name['generative_present']._loaded_options = None _globals['_METADATARESULT'].fields_by_name['generative_present']._serialized_options = b'\030\001' + _globals['_RERANKORDER']._serialized_start=6471 + _globals['_RERANKORDER']._serialized_end=6569 _globals['_SEARCHREQUEST']._serialized_start=136 _globals['_SEARCHREQUEST']._serialized_end=1678 _globals['_GROUPBY']._serialized_start=1680 @@ -70,43 +72,45 @@ _globals['_REFPROPERTIESREQUEST']._serialized_start=2403 _globals['_REFPROPERTIESREQUEST']._serialized_end=2580 _globals['_RERANK']._serialized_start=2582 - _globals['_RERANK']._serialized_end=2638 - _globals['_SEARCHREPLY']._serialized_start=2641 - _globals['_SEARCHREPLY']._serialized_end=3016 - _globals['_QUERYPROFILE']._serialized_start=3019 - _globals['_QUERYPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3092 - _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3226 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3180 - _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3226 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3229 - _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3433 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3345 - _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3433 - _globals['_RERANKREPLY']._serialized_start=3435 - _globals['_RERANKREPLY']._serialized_end=3463 - _globals['_GROUPBYRESULT']._serialized_start=3466 - _globals['_GROUPBYRESULT']._serialized_end=3827 - _globals['_SEARCHRESULT']._serialized_start=3830 - _globals['_SEARCHRESULT']._serialized_end=4080 - _globals['_METADATARESULT']._serialized_start=4083 - _globals['_METADATARESULT']._serialized_end=4714 - _globals['_PROPERTIESRESULT']._serialized_start=4717 - _globals['_PROPERTIESRESULT']._serialized_end=4981 - _globals['_REFPROPERTIESRESULT']._serialized_start=4983 - _globals['_REFPROPERTIESRESULT']._serialized_end=5074 - _globals['_BOOST']._serialized_start=5077 - _globals['_BOOST']._serialized_end=6280 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5177 - _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5296 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5299 - _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5502 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5505 - _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5711 - _globals['_BOOST_CONDITION']._serialized_start=5714 - _globals['_BOOST_CONDITION']._serialized_end=6004 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6007 - _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6140 - _globals['_BOOST_DECAYCURVE']._serialized_start=6142 - _globals['_BOOST_DECAYCURVE']._serialized_end=6259 + _globals['_RERANK']._serialized_end=2703 + _globals['_RERANKDECISION']._serialized_start=2705 + _globals['_RERANKDECISION']._serialized_end=2827 + _globals['_SEARCHREPLY']._serialized_start=2830 + _globals['_SEARCHREPLY']._serialized_end=3205 + _globals['_QUERYPROFILE']._serialized_start=3208 + _globals['_QUERYPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_start=3281 + _globals['_QUERYPROFILE_SEARCHPROFILE']._serialized_end=3415 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_start=3369 + _globals['_QUERYPROFILE_SEARCHPROFILE_DETAILSENTRY']._serialized_end=3415 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_start=3418 + _globals['_QUERYPROFILE_SHARDPROFILE']._serialized_end=3622 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_start=3534 + _globals['_QUERYPROFILE_SHARDPROFILE_SEARCHESENTRY']._serialized_end=3622 + _globals['_RERANKREPLY']._serialized_start=3624 + _globals['_RERANKREPLY']._serialized_end=3652 + _globals['_GROUPBYRESULT']._serialized_start=3655 + _globals['_GROUPBYRESULT']._serialized_end=4016 + _globals['_SEARCHRESULT']._serialized_start=4019 + _globals['_SEARCHRESULT']._serialized_end=4269 + _globals['_METADATARESULT']._serialized_start=4272 + _globals['_METADATARESULT']._serialized_end=4903 + _globals['_PROPERTIESRESULT']._serialized_start=4906 + _globals['_PROPERTIESRESULT']._serialized_end=5170 + _globals['_REFPROPERTIESRESULT']._serialized_start=5172 + _globals['_REFPROPERTIESRESULT']._serialized_end=5263 + _globals['_BOOST']._serialized_start=5266 + _globals['_BOOST']._serialized_end=6469 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_start=5366 + _globals['_BOOST_PROPERTYVALUEFUNCTION']._serialized_end=5485 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_start=5488 + _globals['_BOOST_TIMEDECAYFUNCTION']._serialized_end=5691 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_start=5694 + _globals['_BOOST_NUMERICDECAYFUNCTION']._serialized_end=5900 + _globals['_BOOST_CONDITION']._serialized_start=5903 + _globals['_BOOST_CONDITION']._serialized_end=6193 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_start=6196 + _globals['_BOOST_PROPERTYVALUEMODIFIER']._serialized_end=6329 + _globals['_BOOST_DECAYCURVE']._serialized_start=6331 + _globals['_BOOST_DECAYCURVE']._serialized_end=6448 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v6300/v1/search_get_pb2.pyi b/weaviate/proto/v1/v6300/v1/search_get_pb2.pyi index 3a7a5e60c..b15261c33 100644 --- a/weaviate/proto/v1/v6300/v1/search_get_pb2.pyi +++ b/weaviate/proto/v1/v6300/v1/search_get_pb2.pyi @@ -12,6 +12,15 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor +class RerankOrder(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RERANK_ORDER_UNSPECIFIED: _ClassVar[RerankOrder] + RERANK_ORDER_SEARCH: _ClassVar[RerankOrder] + RERANK_ORDER_PROBABILITY: _ClassVar[RerankOrder] +RERANK_ORDER_UNSPECIFIED: RerankOrder +RERANK_ORDER_SEARCH: RerankOrder +RERANK_ORDER_PROBABILITY: RerankOrder + class SearchRequest(_message.Message): __slots__ = ("collection", "tenant", "consistency_level", "properties", "metadata", "group_by", "limit", "offset", "autocut", "after", "sort_by", "filters", "hybrid_search", "bm25_search", "near_vector", "near_object", "near_text", "near_image", "near_audio", "near_video", "near_depth", "near_thermal", "near_imu", "generative", "rerank", "decide", "boost", "uses_123_api", "uses_125_api", "uses_127_api") COLLECTION_FIELD_NUMBER: _ClassVar[int] @@ -155,12 +164,22 @@ class RefPropertiesRequest(_message.Message): def __init__(self, reference_property: _Optional[str] = ..., properties: _Optional[_Union[PropertiesRequest, _Mapping]] = ..., metadata: _Optional[_Union[MetadataRequest, _Mapping]] = ..., target_collection: _Optional[str] = ...) -> None: ... class Rerank(_message.Message): - __slots__ = ("property", "query") + __slots__ = ("property", "query", "decision") PROPERTY_FIELD_NUMBER: _ClassVar[int] QUERY_FIELD_NUMBER: _ClassVar[int] + DECISION_FIELD_NUMBER: _ClassVar[int] property: str query: str - def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ...) -> None: ... + decision: RerankDecision + def __init__(self, property: _Optional[str] = ..., query: _Optional[str] = ..., decision: _Optional[_Union[RerankDecision, _Mapping]] = ...) -> None: ... + +class RerankDecision(_message.Message): + __slots__ = ("min_probability", "order") + MIN_PROBABILITY_FIELD_NUMBER: _ClassVar[int] + ORDER_FIELD_NUMBER: _ClassVar[int] + min_probability: float + order: RerankOrder + def __init__(self, min_probability: _Optional[float] = ..., order: _Optional[_Union[RerankOrder, str]] = ...) -> None: ... class SearchReply(_message.Message): __slots__ = ("took", "results", "generative_grouped_result", "group_by_results", "generative_grouped_results", "query_profile")