PGVector is a vector similarity search package for Postgres
data base.
In the notebook, we’ll demo the SelfQueryRetriever
wrapped around a PGVector
vector store.
Creating a PGVector vector store
First we’ll want to create a PGVector vector store and seed it with some data. We’ve created a small demo set of documents that contain summaries of movies. Note: The self-query retriever requires you to havelark
installed (pip install lark
). We also need the “ package.
OpenAIEmbeddings
so we have to get the OpenAI API Key.
Creating our self-querying retriever
Now we can instantiate our retriever. To do this we’ll need to provide some information upfront about the metadata fields that our documents support and a short description of the document contents.Testing it out
And now we can try actually using our retriever!Filter k
We can also use the self query retriever to specifyk
: the number of documents to fetch.
We can do this by passing enable_limit=True
to the constructor.