Skip to content
/ rchroma Public

R interface to ChromaDB

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

cynkra/rchroma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8c20d49 · Mar 26, 2025

History

39 Commits
Feb 11, 2025
Mar 26, 2025
Feb 11, 2025
Mar 26, 2025
Feb 11, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025
Feb 11, 2025
Feb 9, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025
Mar 26, 2025

Repository files navigation

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
)