Share via


SqliteMemoryStore Class

Definition

An implementation of IMemoryStore backed by a SQLite database.

public class SqliteMemoryStore : IDisposable, Microsoft.SemanticKernel.Memory.IMemoryStore
type SqliteMemoryStore = class
    interface IMemoryStore
    interface IDisposable
Public Class SqliteMemoryStore
Implements IDisposable, IMemoryStore
Inheritance
SqliteMemoryStore
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(String, CancellationToken)

Connect a Sqlite 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.

Dispose(Boolean)

Disposes the resources used by the SqliteMemoryStore instance.

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