Chroma
Prerequisite
You need a Chroma server. You can:
- Install Chroma CLI and run the server using
chroma run - Sign up for Chroma Cloud.
- Deploy your own Chroma instance in Docker.
Setup
| Input | Description | Default | Cloud |
|---|---|---|---|
| Document | Can be connected with nodes from Document Loader | ||
| Embeddings | Can be connected with nodes from Embeddings | ||
| Collection Name | Chroma collection name. Refer to here for naming convention | ||
| Chroma URL | Specify the URL of your chroma instance | http://localhost:8000 | https://api.trychroma.com:8000 |
For Chroma Cloud, you will need to get your tenant ID, and create your database and API key.
 (1) (1) (1) (1) (2) (1)-faf8e494b5fa462fdd17e6d0c63ffaa4.png)
Additional
If you are running both CiniterFlow and Chroma on Docker, there are additional steps involved.
- Spin up Chroma docker first
docker compose up -d --build
- Open
docker-compose.ymlin CiniterFlow
cd CiniterFlow && cd docker
- Modify the file to:
version: '3.1'
services:
ciniterflow:
image: ciniterflowai/ciniterflow
restart: always
environment:
- PORT=$`{PORT}`
- DEBUG=$`{DEBUG}`
- DATABASE_PATH=$`{DATABASE_PATH}`
- SECRETKEY_PATH=$`{SECRETKEY_PATH}`
- CINITERFLOW_SECRETKEY_OVERWRITE=$`{CINITERFLOW_SECRETKEY_OVERWRITE}`
- LOG_PATH=$`{LOG_PATH}`
- LOG_LEVEL=$`{LOG_LEVEL}`
- EXECUTION_MODE=$`{EXECUTION_MODE}`
ports:
- '$`{PORT}`:$`{PORT}`'
volumes:
- ~/.ciniterflow:/root/.ciniterflow
networks:
- ciniterflow_net
command: /bin/sh -c "sleep 3; ciniterflow start"
networks:
ciniterflow_net:
name: chroma_net
external: true
- Spin up CiniterFlow docker image
docker compose up -d
- On the Chroma URL, for Windows and MacOS Operating Systems specify http://host.docker.internal:8000. For Linux based systems the default docker gateway should be used since host.docker.internal is not available: http://172.17.0.1:8000
 (5)-1fb4f1c4f6d094c497946e2b78e205c6.png)