ChromaDotNet

Samples

Semantic Kernel samples with Chroma

Semantic Kernel samples that use Chroma as the vector store through CommunityToolkit.VectorData.Chroma, the Chroma provider of the AI Community Toolkit. They follow the structure of the Semantic Kernel .NET samples. The samples that use a chat model also come with models that run locally in Ollama.

The samples

  • Vector search: ingests a glossary into Chroma and searches it, with and without a filter.
  • Data models: writes records as dictionaries described by a record definition, then reads them back as a .NET data model.
  • Paging: uses Top and Skip to page through vector search results over 1,000 records. Needs no model.
  • Hybrid search: searches a glossary on Chroma Cloud with a vector and keywords, with and without a filter.
  • RAG agent: a ChatCompletionAgent that answers through a TextSearchProvider, from documents that a TextSearchStore keeps in Chroma.
  • Text search: searches records that have their own data model in Chroma, through VectorStoreTextSearch.

Run the samples without a model

The tests run the scenario of each sample with the same configuration, except the hybrid search, which needs Chroma Cloud. Chroma runs in a container that ChromaDotNet.Testcontainers starts on a free port. They need the .NET 10 SDK and Docker, but no model:

Terminal
git clone https://github.com/ChromaDotNet/ChromaDB.SemanticKernel.Sample
cd ChromaDB.SemanticKernel.Sample
dotnet test test/ChromaDB.SemanticKernel.Sample.Tests

Tested on 25 October 2026: 10 tests of 10 pass.

To run the other samples with Azure OpenAI or with models in Ollama, see the README.