Chroma.
Project description
Chroma
Chroma is the open-source embedding database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.
Language Support
python
-pip install chromadb
javascript/typescript
-npm install --save chromadb
ChatGPT for ______
For example, the "Chat your data"
use case:
- Add documents to your database. You can pass in your own embeddings, embedding function, or let Chroma embed them for you.
- Query relevant documents with natural language.
- Compose documents into the context window of an LLM like
GPT3
for additional summarization or analysis.
Features
- Simple: Fully-typed, fully-tested, fully-documented == happiness
- Integrations:
🦜️🔗 LangChain
(python and js),🦙 gpt-index/LlamaIndex
and more soon - Dev, Test, Prod: the same API that runs in your python notebook, scales to your cluster
- Feature-rich: Queries, filtering, density estimation and more
- Free: Apache 2.0 Licensed
Get up and running
pip install chromadb
import chromadb
client = chromadb.Client()
collection = client.create_collection("all-my-documents")
collection.add(
embeddings=[[1.5, 2.9, 3.4], [9.8, 2.3, 2.9]],
metadatas=[{"source": "notion"}, {"source": "google-docs"}],
ids=["n/102", "gd/972"],
)
results = collection.query(
query_embeddings=[1.5, 2.9, 3.4],
n_results=2
)
Get involved
Chroma is a rapidly developing project. We welcome PR contributors and ideas for how to improve the project.
- Join the conversation on Discord
- Review the roadmap and contribute your ideas
- Grab an issue and open a PR
Embeddings?
What are embeddings?
- Read the guide from OpenAI
- Literal: Embedding something turns it from image/text/audio into a list of numbers. 🖼️ or 📄 =>
[1.2, 2.1, ....]
. This process makes documents "understandable" to a machine learning model. - By analogy: An embedding represents the essence of a document. This enables documents and queries with the same essence to be "near" each other and therefore easy to find.
- Technical: An embedding is the latent-space position of a document at a layer of a deep neural network. For models trained specifically to embed data, this is the last layer.
- A small example: If you search your photos for "famous bridge in San Francisco". By embedding this query and comparing it to the embeddings of your photos and their metadata - it should return photos of the Golden Gate Bridge.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chromadb-0.3.11.tar.gz
(278.9 kB
view details)
Built Distribution
chromadb-0.3.11-py3-none-any.whl
(41.4 kB
view details)
File details
Details for the file chromadb-0.3.11.tar.gz
.
File metadata
- Download URL: chromadb-0.3.11.tar.gz
- Upload date:
- Size: 278.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0098be00ac3cec50482af6a9c2e44d62c5f8ad10143affc0893599a936ce1769
|
|
MD5 |
dd2404fafeed938addee4fdf0ccece2b
|
|
BLAKE2b-256 |
5df30cc45c2083dc55e065366d0fcbc8a8e4b9cd4127a0f14f580f7024b72e24
|
File details
Details for the file chromadb-0.3.11-py3-none-any.whl
.
File metadata
- Download URL: chromadb-0.3.11-py3-none-any.whl
- Upload date:
- Size: 41.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ad7d267db306e09b6647ae8b9d2a58a3d3c245a8609cb3e803d49d6789e1111d
|
|
MD5 |
a258e962943495e8bfc7a2e97bedae7f
|
|
BLAKE2b-256 |
f7429947f230f3a6bbe2972cb0351535dd6791502dbeb28adf7f046ce1e5e6a7
|