You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.Net: Add qdrant vector record store implementation (#6904)
### Motivation and Context
As part of the evolution of memory connectors, we need to support custom
data models and remove opinionated behaviors, so adding a new record
store implementation for qdrant.
### Description
Adding an implementation for IVectorRecordStore for qdrant with support
for:
Custom mappers
Generic data models
Annotating data models via attributes or via definition objects.
Also improving some styling in the AzureAISearch implementation.
See #6525
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
@@ -203,32 +212,40 @@ public async IAsyncEnumerable<string> UpsertBatchAsync(IEnumerable<TRecord> reco
203
212
/// <param name="innerOptions">The azure ai search sdk options for getting a document.</param>
204
213
/// <param name="cancellationToken">The <see cref="CancellationToken"/> to monitor for cancellation requests. The default is <see cref="CancellationToken.None"/>.</param>
205
214
/// <returns>The retrieved document, mapped to the consumer data model.</returns>
/// Get a document with the given key, and return null if it is not found.
346
+
/// </summary>
347
+
/// <typeparam name="T">The type to deserialize the document to.</typeparam>
348
+
/// <param name="searchClient">The search client to use when fetching the document.</param>
349
+
/// <param name="key">The key of the record to get.</param>
350
+
/// <param name="innerOptions">The azure ai search sdk options for getting a document.</param>
351
+
/// <param name="cancellationToken">The <see cref="CancellationToken"/> to monitor for cancellation requests. The default is <see cref="CancellationToken.None"/>.</param>
352
+
/// <returns>The retrieved document, mapped to the consumer data model, or null if not found.</returns>
/// The types of mapper supported by <see cref="QdrantVectorRecordStore{TRecord}"/>.
9
+
/// </summary>
10
+
publicenumQdrantRecordMapperType
11
+
{
12
+
/// <summary>
13
+
/// Use the default mapper that is provided by the semantic kernel SDK that uses json as an intermediary to allows automatic mapping to a wide variety of types.
14
+
/// </summary>
15
+
Default,
16
+
17
+
/// <summary>
18
+
/// Use a custom mapper between <see cref="PointStruct"/> and the data model.
0 commit comments