.NET libraries for Chroma, the open-source vector database, and Chroma Cloud. Website: chromadotnet.org.
| Repository | Package | |
|---|---|---|
| ChromaDB.Client | The client for the Chroma v2 API and Chroma Cloud, tested with Chroma 0.4.10 to 1.5.9. It continues ssone95/ChromaDB.Client. | |
| CommunityToolkit/AI | The Chroma provider for Microsoft.Extensions.VectorData, in the AI Community Toolkit, built on ChromaDotNet.Client. Hybrid search on Chroma Cloud. It started here as ChromaDotNet.VectorData and was contributed to the toolkit of the .NET Foundation. | |
| ChromaDB.Testcontainers | A Testcontainers for .NET module: a throwaway Chroma container in your tests. | |
| ChromaDB.Local | Chroma on your machine, without Docker and without Python: the Chroma executable as a child process of your app. Preview. | |
| ChromaDB.Embeddings | The default embedding function of Chroma: all-MiniLM-L6-v2, the same vectors as the Python client. Preview. | |
| CommunityToolkit/Aspire | The Chroma integrations for Aspire, in the Aspire Community Toolkit: the Chroma container in the AppHost, and a ChromaClient of ChromaDotNet.Client in your services, with health checks, traces and metrics. Beta. Until Aspire 17 is on NuGet, use ChromaDotNet.Aspire.Hosting 0.2.10 in the AppHost. It started here as ChromaDotNet.Aspire and was contributed to the Aspire Community Toolkit. | |
| ChromaDB.Operator | A Kubernetes operator for Chroma 1.x, single-node and distributed, written in .NET with KubeOps. The API is v1alpha1, and the distributed mode is a preview. |
Samples:
- ChromaDB.SemanticKernel.Sample: Semantic Kernel samples with Chroma as the vector store.
- ChromaDB.AgentFramework.Sample: Microsoft Agent Framework samples with Chroma as the vector store.
Used by:
- CommunityToolkit.VectorData.Chroma: the Chroma provider for Microsoft.Extensions.VectorData, in the AI Community Toolkit of the .NET Foundation.
- Used by:
- Generative AI for Beginners .NET: a RAG sample in the Microsoft course.
- LangChain .NET: a RAG sample with Chroma.
- LangChain.Databases: the integration tests.
- Cited in:
- Semantic Kernel: recommended for Chroma in .NET.
- LangChain.Databases: recommended for Chroma in its README.
- Microsoft Agent Framework: listed among the .NET community projects.
- Used by:
- CommunityToolkit.Aspire.Chroma: the Chroma client integration, in the Aspire Community Toolkit of the .NET Foundation.
- BotSharp.Plugin.Chroma: the Chroma vector database plugin of BotSharp, by SciSharp.
- LlmTornado.VectorDatabases.ChromaDB: the Chroma connector of LLM Tornado.
- eShopLite: the Chroma scenario of the Azure sample, on Chroma 1.x.
- Testcontainers.Chroma: the Chroma module of Testcontainers for .NET, tested with ChromaDotNet.Client.
- Semantic Kernel documentation: the C# page of the Chroma connector on Microsoft Learn: CommunityToolkit.VectorData.Chroma, built on ChromaDotNet.Client.
- Microsoft Agent Framework community projects: CommunityToolkit.VectorData.Chroma, built on ChromaDotNet.Client, in the catalog of the .NET community projects, on Microsoft Learn.
On the way:
- Semantic Kernel samples: Chroma in the multi-store vector search sample and in the VectorStoreRAG demo, through CommunityToolkit.VectorData.Chroma.
- Semantic Kernel documentation, hybrid search: hybrid search and two limitations on the C# page of the Chroma connector.
- awesome-dotnet: ChromaDotNet.Client in the list of .NET libraries.
- Microsoft Agent Framework samples: requested, a sample that keeps the chat history of an agent in Chroma, through CommunityToolkit.VectorData.Chroma.
- Chroma documentation: Semantic Kernel and Agent Framework pages for .NET, through CommunityToolkit.VectorData.Chroma.
- Chroma reference: ChromaDotNet.Client in the list of the community SDKs of the Chroma reference.
ChromaDotNet is an independent community project that provides .NET libraries and tools for Chroma. Independent project. Not affiliated with, endorsed by or sponsored by Chroma Inc. CHROMA is a registered trademark of Chroma Inc., used here only to describe compatibility. We use the name "Chroma" only to say which software our projects work with. It does not mean that Chroma Inc. made, approved or supports them.