semantic-kernel icon indicating copy to clipboard operation
semantic-kernel copied to clipboard

Python: Introducing Keyword Hybrid Search and Lambda Filters for Azure AI Search

Open eavanvalkenburg opened this issue 8 months ago • 3 comments

Motivation and Context

Hybrid Adds a new abstraction for keyword hybrid search Implements this for Azure AI Search Adds search tests for Azure AI Search Filters Adds support for a Callable (lambda func) as a filter in VectorSearchOptions Implements a ast walker to go from a lambda to a string for the filter Adds a set of test parameter that can be extended

This further does some work on the vector abstractions:

  • rename is_filterable to is_indexed and is_full_text_searchable to is_full_text_indexed: Closes #11598
  • remove local_embedding from embedding field, adds has_local_embedding to data field, this allows one to create a data model without local embedding, in the old model that required a vector field anyway, now that can be set on the data field that needs to be embedded by the service.
  • dimensions is now a required field: Closes #11517
  • Add support for getting records without a key, with order_by options and top and skip: Closes #9911
  • Add does_collection_exists and delete_collection methods to VectorStore: Closes #11597

Relates to #10561

Description

Contribution Checklist

eavanvalkenburg avatar Apr 10 '25 13:04 eavanvalkenburg

Python Unit Test Overview

Tests Skipped Failures Errors Time
3488 6 :zzz: 0 :x: 0 :fire: 1m 42s :stopwatch:

markwallace-microsoft avatar Apr 10 '25 13:04 markwallace-microsoft

If I understand correctly, there aren't any integration tests for this, right? I'm seeing what looks like unit tests only for now?

roji avatar Apr 15 '25 14:04 roji

@roji indeed int tests still to be done, made a note

eavanvalkenburg avatar Apr 15 '25 15:04 eavanvalkenburg

Replace by multiple smaller PRS

eavanvalkenburg avatar May 16 '25 08:05 eavanvalkenburg