ChromaDB¶
Ecoact CDA team uses ChromaDB as its vector store.
Contrary to relational database, NoSQL systems can handle non tabular data. For a brief overview of the differences, see this.
One kind of NoSQL databases are vector stores. As its names implies, a vector store is used to store vectors with associated metadata.
It also provides the ability to efficiently apply similarity search on vectors and is therefore really useful when working with text embeddings, especially for semantic search applications using dense representations.
Setting up the chroma-db stack¶
All relevant information can be found in the docker-compose.chroma.yml
file (here).
Production mode¶
Remember that you need to setup traefik when in production before launching this stack. Go read the traefik page if not already done.
To start the stack in production, you can make use of the Makefile
provided in the repo (make help
) to list available commands.
you will need to create a .env
file and setting
chroma_username
: the user authorized to connect to the databasechroma_password
: the password associated withchroma_username
chroma_db_path
: the folder in the host where the database will be stored
You can then safely launch
make chroma-launch