This section describes how to provision and connect to ‘Chroma: Vector DB for AI Development’ VM solution on GCP.
Open Chroma: Vector DB for AI Development listing on GCP Marketplace.
Click Get Started.

It will ask you to enable the API’s if they are not enabled already for your account. Please click on enable as shown in the screenshot.

It will take you to the agreement page. On this page, you can change the project from the project selector on top navigator bar as shown in the below screenshot.
Accept the Terms and agreements by ticking the checkbox and clicking on the AGREE button.

It will show you the successfully agreed popup page. Click on Deploy.

On deployment page, give a name to your deployment.
You are missing resourcemanager.projects.setIamPolicy permission, which is needed to set the required roles on the created Service Account
Select a zone where you want to launch the VM(such as us-east1-a)
Optionally change the number of cores and amount of memory. ( This defaults to 2 vCPUs and 7.5 GB RAM)
Optionally change the boot disk type and size. (This defaults to ‘Standard Persistent Disk’ and 40GB respectively)
Optionally change the network name and subnetwork names. Be sure that whichever network you specify has ports 22 (for ssh), 3389 (for RDP), port 80 (for HTTP) and 443 (for HTTPS) exposed.
Click Deploy when you are done.
Chroma: Vector DB for AI Development will begin deploying.



A summary page displays when the compute engine is successfully deployed. Click on the Instance link to go to the instance page .
On the instance page, click on the “SSH” button, select “Open in browser window”.

sudo su ubuntu
cd /home/ubuntu/

sudo passwd ubuntu

Now the password for ubuntu user is set, you can connect to the VM’s desktop environment from any local windows machine using RDP or linux machine using Remmina.
To connect using RDP via Windows machine, first note the external IP of the VM from VM details page as highlighted below

Then From your local windows machine, goto “start” menu, in the search box type and select “Remote desktop connection”
In the “Remote Desktop connection” wizard, paste the external ip and click connect



Note: If you don’t have Remmina installed on your Linux machine, first Install Remmina as per your linux distribution.




Example code to connect to Running ChromaDB server is
import chromadb
from chromadb.config import Settings
client = chromadb.HttpClient(host="localhost", port=8000)
Browser will display a SSL certificate warning message. Accept the certificate warning and Continue.






Benchmarking is used to evaluate how well a model is performing. You can update the models and provide your data here and perform the benchmarking. Instruction to modify the code are given before the cells where modification is required for your custom data.
The App directory comes with:
generate_benchmark.ipynb
A comprehensive guide to generating a custom benchmark based on provided data
compare.ipynb
A framework for comparing results, which is useful when evaluating different embedding models or configurations
data/
Example data to immediately test out the notebooks with
functions/
Functions used to run notebooks, includes various embedding functions and llm prompts
results/
Folder for saving benchmark results, includes results produced from example data


vi .env
Press “i” to enable insert mode, copy paste your OPENAI API Key and other API Keys here. Save the changes by pressing ESC key followed by :wq


chroma_client = chromadb.Client()
Then, replace it with code that initializes chroma_client using PersistentClient, with below code snippet. The ChromaDB server will then use your local storage at /home/ubuntu/setup/chroma. ChromaDB is running on localhost on port 8000.
import chromadb
from chromadb.config import Settings
chroma_client = chromadb.HttpClient(host="localhost", port=8000)



Note: After setting the API keys in .env file and running the notebooks, if you get API Key not found error at any step then restart the kernel as shown below and rerun all the cells from beginning.


Output of compare.ipynb notebook

chroma browse --local chroma-docs-openai-large


Use left, right , up and down arrow keys to navigate. Press Enter to see the full record. Press ESC key to exit the current window.
For more details, please visit Official Documentation page