Pre-release
This release is a pre-release and may not be stable for production use.
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.
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
GPT3for additional summarization or analysis.
Features
- Simple: Fully-typed, fully-tested, fully-documented == happiness
- Integrations:
🦜️🔗 Langchainand🦙 gpt-index - 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=3
)
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
Metadata
Release files for chromadb 0.0.3.dev332
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chromadb-0.0.3.dev332.tar.gz | 35.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chromadb-0.0.3.dev332-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.7 kB
Release files / chromadb-0.0.3.dev332.tar.gz
| Download URL | chromadb-0.0.3.dev332.tar.gz |
|---|---|
| Size | 35.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d60267c40dcb592c305501a3ee4be8f1d89d06ab02c0ad312e8c381722e6d2be
|
|
BLAKE2b-256 checksum How to use checksums |
cb4db7aa9f24fb2f7e8350a74d3fa37acc74c842e3313f855f5a4ddb97d7212a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.8
|
Release files / chromadb-0.0.3.dev332-py3-none-any.whl
| Download URL | chromadb-0.0.3.dev332-py3-none-any.whl |
|---|---|
| Size | 32.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed170c47df437106e64aaf4f1495861ae0a3c32ffff49a23dfc81f3c6452c2eb
|
|
BLAKE2b-256 checksum How to use checksums |
ff77b4727cb9a7bc2d91533e8f00ce205684b5fe703fe1f705c2fdb4913fa9f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.8
|