Method CreateAsync
CreateAsync(SqliteConnection, string, int, VecMetric?, VecElementType, IEnumerable<VecAuxColumn>?, IEnumerable<VecMetadataColumn>?, IEnumerable<VecPartitionKey>?, int?, string, CancellationToken)
Builds the table's DDL with BuildCreateSql(string, int, VecMetric?, VecElementType, IEnumerable<VecAuxColumn>?, IEnumerable<VecMetadataColumn>?, IEnumerable<VecPartitionKey>?, int?, string) and executes it on connection.
public static Task CreateAsync(SqliteConnection connection, string name, int dims, VecMetric? metric = VecMetric.Cosine, VecElementType elementType = VecElementType.Float32, IEnumerable<VecAuxColumn>? aux = null, IEnumerable<VecMetadataColumn>? metadata = null, IEnumerable<VecPartitionKey>? partitions = null, int? chunkSize = null, string vectorColumn = "embedding", CancellationToken cancellationToken = default)
Parameters
connectionSqliteConnectionThe open connection to create the table on.
namestringThe table name.
dimsintThe vector column's dimensionality (1 to 8192).
metricVecMetric?The distance metric, or null for a Bit column, which rejects one.
elementTypeVecElementTypeThe vector column's element type.
auxIEnumerable<VecAuxColumn>Auxiliary columns, selectable but never filterable in a KNN
WHEREclause.metadataIEnumerable<VecMetadataColumn>Metadata columns, filterable with comparison operators.
partitionsIEnumerable<VecPartitionKey>Partition keys, pre-filtered with
=constraints.chunkSizeint?The
chunk_sizeoption; must be a positive multiple of 8 up to 4096, or null to leave it unset.vectorColumnstringThe vector column's name.
cancellationTokenCancellationTokenCancels the command.
Returns
Exceptions
- ArgumentException
nameorvectorColumnis null, empty, or whitespace; ormetricis set on a Bit column.- ArgumentOutOfRangeException
dims,chunkSize, or the size ofaux,metadataorpartitionsis out of range.