mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
For providers which don't natively support score threshold, I've gone with applying the filter client-side - the other option would be to throw. * In EF we're quite strict on not bringing back database data in order to client-evaluate; in other words, if the user wants to load database rows from the database and then perform some post-filtering, they need to write that explicitly in code, to avoid scenarios where tons of data gets unintentionally transferred. * In MEVD we already implement Skip in various providers by bringing back the entire matching resultset and then filtering client-side. This is potentially much worse than filtering for score threshold client-side, as the amount of extra data brought back by threshold post-filtering is limited to top (k), whereas with Skip/pagination queries that amount of data grows with each page. * Ultimately, MEVD is simpler and more high-level, and is also explicitly designed for layers to be composed on top (e.g. MEDI). So there does seem to be more value in features "just working" across providers. Closes #9566