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 database
- chroma_password: the password associated with- chroma_username
- chroma_db_path: the folder in the host where the database will be stored
You can then safely launch
make chroma-launch