diff --git a/CHANGELOG.md b/CHANGELOG.md index e34ffeef..5d11a94d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ - Add method `DocumentIndexClient.chunks()` for retrieving all text chunks of a document. ### Fixes -... +- The Document Index `SearchQuery` now correctly allows searches with a negative `min_score`. ### Deprecations ... diff --git a/src/documentation/elo_qa_eval.ipynb b/src/documentation/elo_qa_eval.ipynb index ef2b2c55..4b71af6f 100644 --- a/src/documentation/elo_qa_eval.ipynb +++ b/src/documentation/elo_qa_eval.ipynb @@ -448,7 +448,7 @@ "outputs": [], "source": [ "newly_added_models = [\n", - " Llama3InstructModel(name=\"llama-3.1-70b-instruct\", client=aa_client),\n", + " Llama3InstructModel(name=\"llama-3.3-70b-instruct\", client=aa_client),\n", "]\n", "\n", "for model in newly_added_models:\n", diff --git a/src/intelligence_layer/connectors/document_index/document_index.py b/src/intelligence_layer/connectors/document_index/document_index.py index 6c160d17..0afbd1c3 100644 --- a/src/intelligence_layer/connectors/document_index/document_index.py +++ b/src/intelligence_layer/connectors/document_index/document_index.py @@ -293,16 +293,15 @@ class SearchQuery(BaseModel): query: Actual text to be searched with. max_results: Max number of search results to be retrieved by the query. Must be larger than 0. - min_score: Filter out results with a similarity score below this value. - Must be between 0 and 1. - For searches on hybrid indexes, the Document Index applies the min_score - to the semantic results before fusion of result sets. As fusion re-scores results, + min_score: Filter out results with a similarity score below this value. Must be between + -1 and 1. For searches on hybrid indexes, the Document Index applies the min_score to + the semantic results before fusion of result sets. As fusion re-scores results, returned scores may exceed this value. """ query: str max_results: int = Field(ge=0, default=1) - min_score: float = Field(ge=0.0, le=1.0, default=0.0) + min_score: float = Field(ge=-1.0, le=1.0, default=0.0) filters: Optional[list[Filters]] = None diff --git a/src/intelligence_layer/core/model.py b/src/intelligence_layer/core/model.py index 3c691808..c1612174 100644 --- a/src/intelligence_layer/core/model.py +++ b/src/intelligence_layer/core/model.py @@ -261,7 +261,7 @@ def __init__( ) if name not in [model["name"] for model in self._client.models()]: warnings.warn( - "The provided model is not a recommended model for this model class." + "The provided model is not a recommended model for this model class. " "Make sure that the model you have selected is suited to be use for the prompt template used in this model class." ) self._complete: Task[CompleteInput, CompleteOutput] = _Complete( @@ -414,7 +414,7 @@ def __init__( ) -> None: if name not in self.RECOMMENDED_MODELS or name == "": warnings.warn( - "The provided model is not a recommended model for this model class." + "The provided model is not a recommended model for this model class. " "Make sure that the model you have selected is suited to be use for the prompt template used in this model class." ) super().__init__(name, client)