Repository navigation
v0.3.5
Patch release of ChromaDotNet.VectorData: an upsert replaces a record that exists, within the limits of Chroma Cloud, and filters compare dates as C# does. Built on ChromaDotNet.Client 2.9.1.
dotnet add package ChromaDotNet.VectorData
Fixes
- Upsert replaces a record that exists: Chroma merges the metadata of an upsert into the record that exists. Before, a value that was now null, or an empty list, kept its old value, and the filters, like the namespaces of the
TextSearchStoreof Semantic Kernel, still found it. Now the provider deletes the keys that the record has stored and that are now null or empty, the old document of a null text, and the BM25 vectors of a text that is now null. To know which keys a record has, it reads the record first, only when the upsert has null values. - Limits of Chroma Cloud: a new record gets no null keys, which Chroma Cloud counts in its 32 keys per record, and a BM25 key is deleted only where the record has it. A text of the property stored as the document longer than 8,182 bytes, the limit of a metadata value, is stored in the document only, up to the 16,384 bytes of a document:
Containsfinds it,==does not. The BM25 index of that property takes its text from the document. - Dates: a
DateTimeOffsetis stored in UTC, and comes back as the same instant with offset zero.==,!=andContainscompare aDateTimeOffsetas an instant and aDateTimeby its ticks, whatever its kind. ADateTimeOffsetstored by an earlier version with another offset is found with that offset. - Numbers: with ChromaDotNet.Client 2.9.1 a double with an integer value is written as a double, so that
D < 2.2finds2.0andDs.Contains(1.0)finds[1.0, 2.5]. - README: the limits of Chroma Cloud, the dates, and that
CreateBm25Indexesmakes creating a collection fail on a single Chroma server.
Tested
The Microsoft.Extensions.VectorData conformance tests pass against Chroma 1.5.0, 1.5.9 and the latest release, with new tests for the upsert, the limits of Chroma Cloud and the dates, and on Chroma Cloud the upsert, metadata, document, hybrid search and TextSearchStore tests pass.
Package: ChromaDotNet.VectorData 0.3.5