Skip to content
This repository has been archived by the owner on Feb 15, 2025. It is now read-only.

Updated VectorDB ADR to reflect ChromaDB as a provisional decision #234

Merged
merged 3 commits into from
Nov 2, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 35 additions & 26 deletions docs/adr/0001-vectordb-backend.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,50 @@
# 1. VectorDB

Contents:

- [Summary](#summary)
- [Issue](#issue)
- [Decision](#decision)
- [Rationale](#rationale)
- [Status](#status)
- [Context](#context)
- [Important Factors](#important-factors)
- [Options](#options)
- [Supporting Information](#supporting-information)
- [Assumptions](#assumptions)
- [Constraints](#constraints)
- [Implications](#implications)
# VectorDB

## Table of Contents

- [VectorDB](#vectordb)
- [Table of Contents](#table-of-contents)
- [Summary](#summary)
- [Issue](#issue)
- [Decision](#decision)
- [Rationale](#rationale)
- [Status](#status)
- [Context](#context)
- [Important Factors](#important-factors)
- [Options](#options)
- [Supporting information](#supporting-information)
- [Benchmarks](#benchmarks)
- [Indexing](#indexing)
- [Assumptions](#assumptions)
- [Constraints](#constraints)
- [Implications](#implications)

## Summary

### Issue

We need to support a vector db for retrieval-augmented generation (RAG), there are many options but we need to choose between them.
We need to support a Vector DB for retrieval-augmented generation (RAG), there are many options but we need to choose between them.

### Decision
### Decision

TBD
ChromaDB

### Rationale
TBD
### Rationale

We decided on ChromaDB due to it's simple implementation, performance, and Apache 2.0 license. At this maturity level, we expect individual capabilities on top of LeapfrogAI to maintain their own Vector DB with ChromaDB and will expand support as common themes surface.

### Status

Provisional

## Context

### Important Factors

- OpenSource
- Performance
- Queries per second
- Latency
- Queries per second
- Latency
- RBAC
- Self-hosted
- Portability
Expand All @@ -49,7 +56,9 @@ Provisional

- [Pinecone](https://www.pinecone.io/)
- [Weaviate](https://weaviate.io/)
- [Milvus](https://milvus.io/) - [GitHub](https://github.com/milvus-io/milvus) - [Architecture](https://milvus.io/docs/architecture_overview.md)
- [Milvus](https://milvus.io/)
- [GitHub](https://github.com/milvus-io/milvus)
- [Architecture](https://milvus.io/docs/architecture_overview.md)
- [Qdrant](https://qdrant.tech/)
- [Chroma](https://www.trychroma.com/)
- [Elasticsearch](https://www.elastic.co/elasticsearch/)
Expand All @@ -64,13 +73,13 @@ Provisional
- https://github.com/milvus-io/milvus/discussions/4939

### Indexing

- https://weaviate.io/blog/ann-algorithms-vamana-vs-hnsw
- https://thedataquarry.com/posts/vector-db-3/


### Assumptions

- Choosing a single vector db is desirable
- We will start with a single preferred VectorDB, but LeapfrogAI should be extensible to accommodate other options.
- Not bundling the vector db with the app layer is desirable

### Constraints
Expand Down