ChromaDB
In this section, we present how to connect ChromaDB to MindsDB.
ChromaDB is the open-source embedding database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.
Prerequisites
Before proceeding, ensure the following prerequisites are met:
- Install MindsDB locally via Docker or use MindsDB Cloud.
- To connect ChromaDB to MindsDB, install the required dependencies following this instruction.
- Install or ensure access to ChromaDB.
Connection
This handler is implemented using the chromadb
Python library.
The required arguments to establish a connection are:
host
: the host name or IP address of the ChromaDB instance.port
: the TCP/IP port of the ChromaDB instance.
OR
persist_directory
: the directory to use for persisting data.
The host
and port
arguments should be provided if you want to connect to a remote ChromaDB instance. Otherwise, the persist_directory
argument should be provided. This will create an in-memory ChromaDB instance.
To connect to a remote ChromaDB instance, the following CREATE DATABASE can be used:
Alternateively, to connect to an in-memory ChromaDB instance, the following CREATE DATABASE can be used:
Usage
Now, you can use the established connection to create a collection (or table in the context of MindsDB) in ChromaDB and insert data into it:
mysql_datasource
is another MindsDB data source that has been created by connecting to a MySQL database. The test_embeddings
table in the mysql_datasource
data source contains the embeddings that we want to store in ChromaDB.
You can query your collection (table) as shown below:
To filter the data in your collection (table) by metadata, you can use the following query:
To conduct a similarity search, the following query can be used: