microsoft / microsoft/semantic-kernel
.Net: [MEVD] Add Batch Search
@roji is already working on this.
Since Sep 9, 2025.
- Dominant language
- C#
- Stars
- 28.6k
- Forks
- 4.8k
- Avg merge
- 14h 13m
- Merged PRs (30d)
- 18
Description
[MEVD] Add Batch Search
I am authoring a high-performance library for AI applications and would like to introduce MEVD as the baseline abstraction for integration with vector searches.
However, most AI applications perform batch operations, and some vector stores have batch capabilities or at least the ability to submit multiple requests in a single round trip.
The current MVDE search abstraction only enables a single query at a time, limiting my ability to harness when possible the batch capabilities of the underlying storage.
Can we add a new abstraction that the different vector stores can optionally implement for batch operations?
Then I can do a capability test in my code:
if (vectorStore is IBatchSearchableVectorStore)
{
var groupedResult = await vectorStore.BatchQueryAsync(batch, ...);
// use results
}
If we can also have adapters for a vector store that will perform serial / parallel queries that would be cool, but that is easy to add in our code once the interface exists.
All names (interface, methods, ...) are TBD.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.