https://cerebralvalley.ai logo
#06-technical-discussion
Title
# 06-technical-discussion
n

Nicholas Charriere

06/08/2023, 3:52 PM
Embeddings DB recommendations? I've heard of pinecone, chroma, vectors directly in PG. Does anyone have experience with these that can recommend one or another?
d

Don Alvarez

06/08/2023, 4:08 PM
Pinecone seems to be most people's default. That said, given the amount of resources Microsoft and Azure is throwing at AI and the centrality of Cosmos DB to Azure generally I'm personally watching this announcement from about 2 weeks ago pretty closely: https://devblogs.microsoft.com/cosmosdb/introducing-vector-search-in-azure-cosmos-db-for-mongodb-vcore/
πŸ‘€ 2
v

Vishwanath Seshagiri

06/08/2023, 4:14 PM
If you don't mind managing your vector store, I've found weviate to be the best!
I would also recommend looking into pg-vector and redis-vector (https://redis.com/solutions/use-cases/vector-database/)
πŸ™ 1
h

Han

06/08/2023, 4:38 PM
just use redis
depending on the size of your data, if its only tens of million vectors, just use chroma/duckdb or cozo
πŸ‘ 1
n

Nicholas Charriere

06/08/2023, 4:39 PM
@Han for low size, how would you compare redis and pg ?
d

Deepanshu

06/08/2023, 4:41 PM
@Nicholas Charriere have used qdrant in production, its quite better on Ram footprint etc
πŸ‘€ 1
n

Nicholas Charriere

06/08/2023, 4:41 PM
Nice, better than what? Any comparison points?
d

Deepanshu

06/08/2023, 4:45 PM
Sure, if you can share more about your use-case and what is more important (like performance/speed/recall/precision etc), can surely help direct you to those benchmarks etc
If you want something local, Qdrant and Weaviate have much better performance.
You can find more info here about difference benchmarks for choosing right Vector DB https://github.com/erikbern/ann-benchmarks
πŸ™Œ 2
h

Han

06/08/2023, 6:39 PM
For small foot prints, just use Chroma or Cozo. They sit in memory, dont need to do anything fancy. And move to Redis if you need it in production so you can separate the scaling
There's not much reason to use Pinecone, Weaviate, etc, since that would require you to make a trip over the Internet. PGVector has its use cases, but its meh
Also, depending on use case, you do need to sometimes worry about ingestion speed or upsert speed.
a

Andrew Cote

06/09/2023, 5:50 PM
contrarian take:
πŸ‘ 1
h

Han

06/09/2023, 5:59 PM
I dont see why that’s contrarian. numpy is usually the best choice if you just need something in memory. then sqlite (cozo) or duckdb (chroma).
Both embeddings layer and attention layers in the transformer model architecture are both doing vectorized retrieval.