What is our primary use case?
As an AI Engineer, my primary use case of Supabase Vector is for storing vector databases that I use at retrieval and inference in my AI agent and RAG pipelines. I have been working with RAG solutions, and often times I have to chunk and embed information into vectors that need to be stored in databases so that at inference we can always retrieve the relevant chunks from the database.
I was building on Pinecone, but then I had to test something with pgvector locally. After testing pgvector locally for a solution I built for Algorithmi UK, which is essentially a teacher co-pilot solution, I realized I had some information that I retrieve in raw text stored in buckets, some in SQL databases on Supabase, and then I had other ones that were semantic that I needed to run semantic search over. For those sections, I ended up testing locally with pgvector. When it was time to go live to production for internal testing or to staging for internal testing, I realized that instead of tearing down all of that pgvector coding and having to write the code for Pinecone, I could just as well use pgvector in internal testing.
Recently, I started building a personalized portfolio website. I was not really impressed with all of the automated solutions out there, the frameworks that you have to put in specific information that grants a specific kind of output. I wanted to build a personal portfolio website where, beyond being able to pull my projects from GitHub, it is also able to have an AI-powered RAG solution on the back end that visitors can interact with and ask about me, ask if I have used a particular framework, if I have used a particular library, if I have built a solution that looks a certain way, and then it can answer without them having to contact me. That was my most recent use of Supabase Vector because the information that came with every README, every text file that I used for each project shown on my personal portfolio website had to be chunked so that the AI can use it in responding to user queries whenever they visit the website.
What is most valuable?
Supabase Vector offers a normal vector database solution like Pinecone and Weaviate. One of the things I particularly appreciate is how easy it is to add pgvector to your existing database by just running one line of SQL code in the SQL interface of your Supabase database. By default, you just run one line of code and then you have a vector database attached to your database, and everything is just set up. You do not have to do too much setting because you are already using the PostgreSQL instance for relational database.
The ease of setting it up is primarily what stands out to me. In many other ways, I think it is just a state-of-the-art solution in the industry. Supabase Vector has made my work a lot easier, especially since we already use PostgreSQL instances on Supabase for our relational database.
What needs improvement?
When setting up a database, a PostgreSQL instance, which is the most popular use of Supabase, instead of having to go and write and run an SQL line to create a pgvector on Supabase, it would be nice if the person creating the database for the project could just be asked with maybe a checkbox whether they want a vector database or not. If the person ticks the box, then you automatically create the vector database in the backend. If the person does not tick the box, which means they do not need it, then it does not happen. That way, you do not even have to go and write and run one line of SQL to create pgvector.
In many ways Supabase is good, but there is always space for improvement. There is always also the space for bringing in features that probably developers do not even think should have, maybe because we have accepted it as a normal part of the problems of the industry that we have to just cope with.
Which solution did I use previously and why did I switch?
I mentioned earlier that previously I used Pinecone. The primary reason why I have not completely switched, but why I started using pgvector is especially in cases where I already have a relational SQL database, PostgreSQL database for that project on Supabase. It just makes sense for me to use the vector database also.
What was our ROI?
The organization would not have noticed the impact because we work with a lot of persons that are not technical people, and even among the technical staff that we have at our organization, there are a lot of persons that are essentially full-stack developers for software who do not really use vector database the way I have to use it as an AI Engineer. However, for me, Supabase Vector has made my work a lot easier, especially since we already use PostgreSQL instances on Supabase for our relational database.
Which other solutions did I evaluate?
If you want to use Zilliz for instance, there is a whole lot of things that you have to do, a whole lot of database, a whole lot of code, a whole lot of APIs to call for different kinds of things. If you want to set up Pinecone, you have to go to the UI on the Pinecone website and pick the model, pick the chunk size, the dimension of your database, and a whole lot of other things. Pinecone is better than some others, but Supabase Vector is just straightforward.
What other advice do I have?
With a PostgreSQL instance on Supabase to hold user data, hashed passwords, and all of those things, and then having to go elsewhere, say Pinecone or Weaviate, to go and create a vector database, to use all of those in my codebase means I have to connect to them independently. I would have a framework for connecting to the Pinecone vector database, have a framework for connecting to Supabase Vector and to the Supabase relational database, and all of that. But now I can just create everything on Supabase, copy my project URL, and just hook it up and everything just works. This reduces complexity and helps saves time.
Documentation would be nice, but with the advent of AI-assisted coding, the accuracy of Supabase Vector is good. I would rate this review a 7.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other
Disclosure: My company does not have a business relationship with this vendor other than being a customer.