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

Commit

Permalink
Merge pull request #234 from defenseunicorns/185-adr-vector-database
Browse files Browse the repository at this point in the history
Updated VectorDB ADR to reflect ChromaDB as a provisional decision
  • Loading branch information
gphorvath authored Nov 2, 2023
2 parents ec52443 + af355d2 commit fd3fdc0
Showing 1 changed file with 35 additions and 26 deletions.
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

0 comments on commit fd3fdc0

Please sign in to comment.