Milvus is a database that stores, indexes, and manages massive embedding vectors generated by deep neural networks and other machine learning (ML) models.In the walkthrough, we’ll demo the
SelfQueryRetriever
with a Milvus
vector store.
Creating a Milvus vectorstore
First we’ll want to create a Milvus VectorStore and seed it with some data. We’ve created a small demo set of documents that contain summaries of movies. I have used the cloud version of Milvus, thus I needuri
and token
as well.
NOTE: The self-query retriever requires you to have lark
installed (pip install lark
). We also need the langchain_milvus
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.