A client for the Chroma API, a Microsoft.Extensions.VectorData provider, a Testcontainers module and Aspire integrations. The client is tested with Chroma 0.4.10 to 1.5.9 and with Chroma Cloud.
dotnet add package ChromaDotNet.Client
using ChromaDB.Client;
using var client = newChromaClient("http://localhost:8000");
var collection = await client.GetOrCreateCollectionAsync("docs");
var docs = client.GetCollectionClient(collection);
await docs.AddAsync(["doc-1"],
embeddings: [new([0.1f, 0.4f, 0.2f])],
documents: ["Chroma from .NET"]);
var results = await docs.QueryAsync(
newReadOnlyMemory<float>([0.1f, 0.4f, 0.2f]), nResults: 1);
The packages are named ChromaDotNet.*; the namespaces keep their original names, like ChromaDB.Client.
Libraries
Each repository publishes its own NuGet packages.
ChromaDotNet.Client
The client: every operation of the Chroma v2 API, Chroma Cloud included, on .NET 8 and later, .NET 10 included, on .NET Framework 4.6.2 and on .NET Standard 2.0 platforms. Dependency injection comes in ChromaDotNet.Client.DependencyInjection.
A Microsoft.Extensions.VectorData provider, for Semantic Kernel, Agent Framework and any code written against the abstractions. Hybrid search on Chroma Cloud.