Sylin.Koan.Data.Vector.Connector.Chroma 1.0.395

dotnet add package Sylin.Koan.Data.Vector.Connector.Chroma --version 1.0.395
                    
NuGet\Install-Package Sylin.Koan.Data.Vector.Connector.Chroma -Version 1.0.395
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylin.Koan.Data.Vector.Connector.Chroma" Version="1.0.395" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sylin.Koan.Data.Vector.Connector.Chroma" Version="1.0.395" />
                    
Directory.Packages.props
<PackageReference Include="Sylin.Koan.Data.Vector.Connector.Chroma" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sylin.Koan.Data.Vector.Connector.Chroma --version 1.0.395
                    
#r "nuget: Sylin.Koan.Data.Vector.Connector.Chroma, 1.0.395"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sylin.Koan.Data.Vector.Connector.Chroma@1.0.395
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sylin.Koan.Data.Vector.Connector.Chroma&version=1.0.395
                    
Install as a Cake Addin
#tool nuget:?package=Sylin.Koan.Data.Vector.Connector.Chroma&version=1.0.395
                    
Install as a Cake Tool

Sylin.Koan.Data.Vector.Connector.Chroma

Chroma vector storage for Koan. Reference the package, call AddKoan(), and Vector<T> kNN search runs against a Chroma server over REST v2 — plan-bound spaces, metadata filter pushdown, and session-visible mutations with no client driver dependency.

Supported provider (member of external-vector-providers): the vector-plane conformance suite passes against a real Chroma 1.5.9 server — AODB isolation cells and the V-01..V-24 provider annex, filter convergence, capability truth. The "not declared" rows below are part of the claim.

Install

dotnet add package Sylin.Koan.Data.Vector.Connector.Chroma
builder.Services.AddKoan(koan =>
{
    koan.Data.Source("Default").Vector<Todo>(space => space
        .Name("todos")
        .Dimensions(384)
        .Metric(VectorMetric.Cosine)
        .Visibility(VectorVisibility.Session));
});
{ "Koan": { "Data": { "Chroma": { "Endpoint": "http://localhost:8000" } } } }

Zero configuration

docker run -d -p 8000:8000 chromadb/chroma:1.5.9

No configuration and no credentials: the adapter resolves auto to the conventional local endpoint (http://localhost:8000, default tenant and database), creates collections under managed lifecycle, and Chroma itself is unauthenticated by default. Point elsewhere with Koan:Data:Chroma:Endpoint (or a CHROMA_URL/CHROMA_ENDPOINT environment variable, which discovery also honors).

The adapter speaks the Chroma REST v2 API under the configured tenant/database (default_tenant/default_database on a standalone server). Collections are created and shape-validated under the framework's managed lifecycle: metric at creation, dimension pinned by the first write, both re-validated against the declared VectorSpacePlan on every boot.

What it adds

Capability State
kNN search with normalized [0,1] similarity (cosine, l2, inner product) declared, proven by the vector-plane suite
Metadata filter pushdown (Eq/Ne/range/In/Nin, and/or groups) declared and store-executed against the flat scalar index
Deterministic tie ordering, stable positional get-many, honest upsert/delete outcomes declared
Isolation: row / container / database scoped declared, proven by the AODB cells (container + database via the name-fold floor)
Hybrid (lexical + semantic) search, named spaces, continuation tokens, atomic batches, streaming export not declared — rejected with a corrective message, not silently approximated
Negation (Not), nested metadata paths, array/size operators, Exists, case-insensitive comparison, range comparisons on non-numeric values not declared — Chroma's where language cannot express them faithfully; the filter fails closed before provider I/O

How it composes

One entity space maps to one Chroma collection; ambient partitions and routed sources fold into the collection name (the name-mangling floor every Koan vector store realizes). Point identity is the entity key verbatim, with scope-compiled identities folded into a deterministic UUID so a scoped row never collides with its unscoped twin. Metadata is dual-written: the full neutral value algebra rides a reserved JSON string for exact round-trips, and a flat scalar projection (same conversion on write and on filter values) makes metadata filters answerable by the store itself.

Limits

  • Range operators ($gt/$gte/$lt/$lte) push down only when the comparison value is numeric — Chroma rejects non-numeric range comparisons server-side, so those fail closed at translation.
  • Metadata containers (objects, arrays) round-trip through the neutral blob but are not filterable; Chroma matches only flat scalars.
  • MinimumSimilarity has no Chroma server primitive: the search requests the widest honest window (bounded by MaxSearchCandidates) and applies the threshold on the normalized scores it returns.
  • Distance semantics are Chroma's: cosine distance = 1 − similarity, l2 = squared Euclidean, inner product distance = 1 − inner product; the adapter normalizes each onto the shared scale.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.395 120 9/13/2026
1.0.392 109 9/12/2026
1.0.389 100 9/12/2026
1.0.387 100 9/10/2026
1.0.383 108 9/10/2026
1.0.379 107 9/9/2026
1.0.375 100 9/9/2026
1.0.372 97 9/9/2026
1.0.367 105 9/9/2026
1.0.365 111 9/9/2026
1.0.360 110 9/5/2026
1.0.359 123 8/30/2026
1.0.357 102 8/30/2026