diff --git a/backend/settings.py b/backend/settings.py index 133ffbdc41..6b63d48288 100644 --- a/backend/settings.py +++ b/backend/settings.py @@ -195,9 +195,6 @@ class _SearchCommonSettings(BaseSettings): extra="ignore", env_ignore_empty=True ) - top_k: int = Field(default=5, serialization_alias="top_n_documents") - strictness: int = 3 - enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") max_search_queries: Optional[int] = None allow_partial_result: bool = False include_contexts: Optional[List[str]] = ["citations", "intent"] @@ -239,6 +236,9 @@ class _AzureSearchSettings(BaseSettings, DatasourcePayloadConstructor): env_ignore_empty=True ) _type: Literal["azure_search"] = PrivateAttr(default="azure_search") + top_k: int = Field(default=5, serialization_alias="top_n_documents") + strictness: int = 3 + enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") service: str = Field(exclude=True) endpoint_suffix: str = Field(default="search.windows.net", exclude=True) index: str = Field(serialization_alias="index_name") @@ -266,7 +266,7 @@ class _AzureSearchSettings(BaseSettings, DatasourcePayloadConstructor): authentication: Optional[dict] = None embedding_dependency: Optional[dict] = None fields_mapping: Optional[dict] = None - filter: Optional[str] = None + filter: Optional[str] = Field(default=None, exclude=True) @field_validator('content_columns', 'vector_columns', mode="before") @classmethod @@ -351,6 +351,9 @@ class _AzureCosmosDbMongoVcoreSettings( env_ignore_empty=True ) _type: Literal["azure_cosmosdb"] = PrivateAttr(default="azure_cosmosdb") + top_k: int = Field(default=5, serialization_alias="top_n_documents") + strictness: int = 3 + enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") query_type: Literal['vector'] = "vector" connection_string: str = Field(exclude=True) index: str = Field(serialization_alias="index_name") @@ -417,6 +420,9 @@ class _ElasticsearchSettings(BaseSettings, DatasourcePayloadConstructor): env_ignore_empty=True ) _type: Literal["elasticsearch"] = PrivateAttr(default="elasticsearch") + top_k: int = Field(default=5, serialization_alias="top_n_documents") + strictness: int = 3 + enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") endpoint: str encoded_api_key: str = Field(exclude=True) index: str = Field(serialization_alias="index_name") @@ -487,6 +493,9 @@ class _PineconeSettings(BaseSettings, DatasourcePayloadConstructor): env_ignore_empty=True ) _type: Literal["pinecone"] = PrivateAttr(default="pinecone") + top_k: int = Field(default=5, serialization_alias="top_n_documents") + strictness: int = 3 + enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") environment: str api_key: str = Field(exclude=True) index_name: str @@ -554,6 +563,9 @@ class _AzureMLIndexSettings(BaseSettings, DatasourcePayloadConstructor): env_ignore_empty=True ) _type: Literal["azure_ml_index"] = PrivateAttr(default="azure_ml_index") + top_k: int = Field(default=5, serialization_alias="top_n_documents") + strictness: int = 3 + enable_in_domain: bool = Field(default=True, serialization_alias="in_scope") name: str version: str project_resource_id: str = Field(validation_alias="AZURE_ML_PROJECT_RESOURCE_ID")