Share via


DuckDBMemoryStore Class

Definition

An implementation of IMemoryStore backed by a DuckDB database.

public sealed class DuckDBMemoryStore : IDisposable, Microsoft.SemanticKernel.Memory.IMemoryStore
type DuckDBMemoryStore = class
    interface IMemoryStore
    interface IDisposable
Public NotInheritable Class DuckDBMemoryStore
Implements IDisposable, IMemoryStore
Inheritance
DuckDBMemoryStore
Implements

Remarks

The data is saved to a database file, specified in the constructor. The data persists between subsequent instances. Only one instance may access the file at a time. The caller is responsible for deleting the file.

Methods

ConnectAsync(CancellationToken)

Connect an in memory DuckDB database

ConnectAsync(DuckDBConnection, CancellationToken)

Connect an in memory DuckDB database

ConnectAsync(DuckDBConnection, Int32, CancellationToken)

Connect an in memory DuckDB database

ConnectAsync(Int32, CancellationToken)

Connect an in memory DuckDB database

ConnectAsync(String, CancellationToken)

Connect a DuckDB database

ConnectAsync(String, Int32, CancellationToken)

Connect a DuckDB database

CreateCollectionAsync(String, CancellationToken)

Creates a new collection in the data store.

DeleteCollectionAsync(String, CancellationToken)

Deletes a collection from the data store.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

DoesCollectionExistAsync(String, CancellationToken)

Determines if a collection exists in the data store.

GetAsync(String, String, Boolean, CancellationToken)

Gets a memory record from the data store. Does not guarantee that the collection exists.

GetBatchAsync(String, IEnumerable<String>, Boolean, CancellationToken)

Gets a batch of memory records from the data store. Does not guarantee that the collection exists.

GetCollectionsAsync(CancellationToken)

Gets all collection names in the data store.

GetNearestMatchAsync(String, ReadOnlyMemory<Single>, Double, Boolean, CancellationToken)

Gets the nearest match to an embedding of type Single. Does not guarantee that the collection exists.

GetNearestMatchesAsync(String, ReadOnlyMemory<Single>, Int32, Double, Boolean, CancellationToken)

Gets the nearest matches to an embedding of type Single. Does not guarantee that the collection exists.

RemoveAsync(String, String, CancellationToken)

Removes a memory record from the data store. Does not guarantee that the collection exists.

RemoveBatchAsync(String, IEnumerable<String>, CancellationToken)

Removes a batch of memory records from the data store. Does not guarantee that the collection exists.

UpsertAsync(String, MemoryRecord, CancellationToken)

Upserts a memory record into the data store. Does not guarantee that the collection exists. If the record already exists, it will be updated. If the record does not exist, it will be created.

UpsertBatchAsync(String, IEnumerable<MemoryRecord>, CancellationToken)

Upserts a group of memory records into the data store. Does not guarantee that the collection exists. If the record already exists, it will be updated. If the record does not exist, it will be created.

Applies to