elastic / elastic/ai-dotnet

Update the Elasticsearch vector store connector for the latest MEVD changes

Open
#24 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
21
Forks
4
Avg merge
1h 18m
Merged PRs (30d)
1

Description

Hello, Elastic team!

My name is Adam. I work on the .NET Libraries team and maintain [Microsoft.Extensions.VectorData](https://www.nuget.org/packages/Microsoft.Extensions.VectorData.Abstractions) (MEVD), which [Elastic.SemanticKernel.Connectors.Elasticsearch](https://www.nuget.org/packages/Elastic.SemanticKernel.Connectors.Elasticsearch) integrates with.

We have made several important changes to the MEVD ecosystem. Could you consider updating Elastic.SemanticKernel.Connectors.Elasticsearch to align with them?

- We have released replacement [packages](https://www.nuget.org/packages?q=CommunityToolkit.VectorData&includeComputedFrameworks=true&prerel=true&sortby=relevance) whose names no longer include “SemanticKernel.” They are maintained in the [CommunityToolkit.AI repository](https://github.com/CommunityToolkit/AI/tree/main/MEVD). This naming avoids suggesting that users must adopt Semantic Kernel to use MEVD providers. We plan to deprecate the old packages soon. Could you rename this connector using the recommended `$CompanyName.VectorData` pattern, such as `Elastic.Elasticsearch.VectorData`?
- We have published the MEVD conformance tests as a [NuGet package](https://www.nuget.org/packages/Microsoft.Extensions.VectorData.ConformanceTests). You can remove the [repository’s local copy](https://github.com/elastic/ai-dotnet/tree/af2ce9b727a7090a0c2a57a7179c9ee3b29604a3/test/VectorData.ConformanceTests) and reference Microsoft.Extensions.VectorData.ConformanceTests instead. Starting with version 10.8.2, the package targets xUnit v3, allowing tests to be skipped natively using `Assert.Skip` or `Assert.SkipUnless`. All test methods are virtual, so they can be overridden.

```csharp
public override Task Flat()
{
Assert.SkipUnless(!((CosmosNoSqlTestStore)fixture.TestStore).UsesLocalEmulator, "Not supported on emulator.");

return base.Flat();
}
```
- All MEVD packages are now marked as stable and reference the latest version of `Microsoft.Extensions.VectorData.Abstractions`. We don’t expect to introduce any major breaking changes to MEVD. Could you update the connector’s dependency accordingly?

Please let me know if you have any questions or if any of these changes would be difficult to adopt in this connector.

Thanks,
Adam

cc @Mpdreamz @flobernd @westey-m @roji @sammonort

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the connector project files for package naming and Microsoft.Extensions.VectorData dependency declarations, then compare test/VectorData.ConformanceTests with the published Microsoft.Extensions.VectorData.ConformanceTests package. The work is complete when the connector uses the recommended package name and current stable dependency, the local conformance-test copy is removed, and the tests pass with any required skips or overrides.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, elasticsearch
Domain
databases
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.