Why are we using Pinecone instead of a local vector database? #520
Replies: 9 comments 9 replies
-
Scalability is what I would assume. |
Beta Was this translation helpful? Give feedback.
-
Yeah , same for OpenAi API, can't we use Alpaca or Vicuuna |
Beta Was this translation helpful? Give feedback.
-
From what I see in scripts/memory/init.py it's already using local memory by default (rather than pinecone). There's also an option for Redis rather than Pinecone, which you can control with an env var according to https://github.com/Torantulino/Auto-GPT#redis-setup . https://github.com/Torantulino/Auto-GPT/blob/d8a7a811c841ae42952e859f3ee1e5754f0a79d8/scripts/memory/__init__.py#L15-L36 |
Beta Was this translation helpful? Give feedback.
-
I think this project needs some refactoring to be more generic. Like adding Data Access Layers (Dals) so the infra is easily swappable. For this case we need to make the CRUD equivalent wrapper for embeddings. Needs connect to client, add docs, lookup, edit and delete. Then the default should probably a local foss solution like chroma or one of the others, but anyone can easily choose pinecone instead while not needing to change any of the code. Just make a simple adapter, and set it to load from config. |
Beta Was this translation helpful? Give feedback.
-
I agree. Not only do we not need Pinecone here, and it's not being used by default, but we don't need a vector DB at all. Vector similarity search doesn't get computationally expensive until you hit 100k+ vectors, especially if you're just doing dot product. This should just be held in memory during run, with optionally storing to a local flat file if needed between executions. Additionally, I don't see why we really need the OpenAI embeddings API. The embeddings here appear to just be used for a very basic similarity search, as we can't actually pass the vectors directly back to GPT3/4. Lots of research and analysis has shown that purpose-built sentence embedding models actually outperform huge language model embeddings for the sake of semantic similarity search. https://www.sbert.net/ |
Beta Was this translation helpful? Give feedback.
-
the reason is that pinecone does some heavy marketing and is investing lot of money into content creation like tutorials and sponsored content. You can see on youtube how much pinecone content there is. VCs currently invest heavily into startups in the AI area so they can easily afford such heavy marketing |
Beta Was this translation helpful? Give feedback.
-
There is already redis docker option or local cache. My project/application benefits massively from pinecone though and its not overkill its barely enought actually a combination of all integrated memory systems or a more airtight system for making progress along the lines of past plans and resulting progress would be very helpful. So you dont have to worry just use redis if that is what you want or local cache (for that no installation is required i believe just add the "python -m autogpt --use-memory local cache" or something like that. 👍 |
Beta Was this translation helpful? Give feedback.
-
We signed up for pinecone in June with the $70 per month plan, we created an index of our products, 3,000 of them. We made a few test calls; 8 or 9 after we uploaded the data and that was it, we did nothing with it since. And today, July 6th, I received a bill for $123.31. WHAT THE HELL! Jun 1st - Jun 30th 2023 Copied from the usage page. This was from 1 index with 3000 products and 9 queries. Thank God we didn't use this beyond the few test calls. SMH! so, to everyone out there, the greed is real. Go local. We are being nickeled and dimed to death with all these subscriptions for everything. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I don't see any reason why Pinecone should be used. Some locally-running vector database would have lower latency, be free, and not require extra account creation. Why isn't a local vector database library the first choice, @Torantulino ?? Anything local like Milvus or Weaviate would be free, local, private, not require an account, and not require users to wait forever for pinecone to "initialize".
Beta Was this translation helpful? Give feedback.
All reactions