rchroma rchroma website

R-CMD-check Codecov test coverage

rchroma provides a clean interface to ChromaDB, a modern vector database for storing and querying embeddings.

Installation

You can isntall rchroma from CRAN:

install.packages("rchroma")

Or you can install the developer version from GitHub:

# install.packages("remotes")
remotes::install_github("cynkra/rchroma")

You also need a running ChromaDB instance. The easiest way to get started is using the provided Docker helper functions:

chroma_docker_run()
# use chroma_docker_stop() to stop the container

See the ChromaDB documentation for other installation methods.

Usage

library(rchroma)

# Connect to ChromaDB
client <- chroma_connect()

# Create a collection and add documents with embeddings
create_collection(client, "my_collection")
add_documents(
  client,
  "my_collection",
  documents = c("apple", "banana"),
  ids = c("doc1", "doc2"),
  embeddings = list(
    c(1.0, 0.0), # apple
    c(0.8, 0.2) # banana (similar to apple)
  )
)

# Query similar documents using embeddings
query(
  client,
  "my_collection",
  query_embeddings = list(c(1.0, 0.0)), # should match apple best
  n_results = 2
)

mirror server hosted at Truenetwork, Russian Federation.