mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-06 07:04:01 +00:00
community[patch]: use semantic_configurations in AzureSearch (#19347)
- **Description:** Currently the semantic_configurations are not used when creating an AzureSearch instance, instead creating a new one with default values. This PR changes the behavior to use the passed semantic_configurations if it is present, and the existing default configuration if not. --------- Co-authored-by: Adam Law <adamlaw@microsoft.com> Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
parent
a7274f006e
commit
aeb7b6b11d
@ -69,7 +69,9 @@ def _get_search_client(
|
||||
semantic_configuration_name: Optional[str] = None,
|
||||
fields: Optional[List[SearchField]] = None,
|
||||
vector_search: Optional[VectorSearch] = None,
|
||||
semantic_configurations: Optional[SemanticConfiguration] = None,
|
||||
semantic_configurations: Optional[
|
||||
Union[SemanticConfiguration, List[SemanticConfiguration]]
|
||||
] = None,
|
||||
scoring_profiles: Optional[List[ScoringProfile]] = None,
|
||||
default_scoring_profile: Optional[str] = None,
|
||||
default_fields: Optional[List[SearchField]] = None,
|
||||
@ -175,8 +177,15 @@ def _get_search_client(
|
||||
)
|
||||
|
||||
# Create the semantic settings with the configuration
|
||||
semantic_search = None
|
||||
if semantic_configurations is None and semantic_configuration_name is not None:
|
||||
if semantic_configurations:
|
||||
if not isinstance(semantic_configurations, list):
|
||||
semantic_configurations = [semantic_configurations]
|
||||
semantic_search = SemanticSearch(
|
||||
configurations=semantic_configurations,
|
||||
default_configuration_name=semantic_configuration_name,
|
||||
)
|
||||
elif semantic_configuration_name:
|
||||
# use default semantic configuration
|
||||
semantic_configuration = SemanticConfiguration(
|
||||
name=semantic_configuration_name,
|
||||
prioritized_fields=SemanticPrioritizedFields(
|
||||
@ -184,6 +193,9 @@ def _get_search_client(
|
||||
),
|
||||
)
|
||||
semantic_search = SemanticSearch(configurations=[semantic_configuration])
|
||||
else:
|
||||
# don't use semantic search
|
||||
semantic_search = None
|
||||
|
||||
# Create the search index with the semantic settings and vector search
|
||||
index = SearchIndex(
|
||||
@ -218,7 +230,9 @@ class AzureSearch(VectorStore):
|
||||
semantic_configuration_name: Optional[str] = None,
|
||||
fields: Optional[List[SearchField]] = None,
|
||||
vector_search: Optional[VectorSearch] = None,
|
||||
semantic_configurations: Optional[SemanticConfiguration] = None,
|
||||
semantic_configurations: Optional[
|
||||
Union[SemanticConfiguration, List[SemanticConfiguration]]
|
||||
] = None,
|
||||
scoring_profiles: Optional[List[ScoringProfile]] = None,
|
||||
default_scoring_profile: Optional[str] = None,
|
||||
cors_options: Optional[CorsOptions] = None,
|
||||
|
Loading…
Reference in New Issue
Block a user