Skip to main content
Pinecone is a vector database with broad functionality.
In the walkthrough, we’ll demo the SelfQueryRetriever with a Pinecone vector store.

Creating a Pinecone index

First we’ll want to create a Pinecone vector store and seed it with some data. We’ve created a small demo set of documents that contain summaries of movies. To use Pinecone, you have to have pinecone package installed and you must have an API key and an environment. Here are the installation instructions. Note: The self-query retriever requires you to have lark package installed.
We want to use 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 specify k: the number of documents to fetch. We can do this by passing enable_limit=True to the constructor.