i am really confused about how to get more control with retrieval from a vector store (milvus 2.4).
i have tried the hybrid search with RRFRanker (
https://docs.llamaindex.ai/en/stable/examples/vector_stores/MilvusHybridIndexDemo/), but i get error:
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:19530, illegal connection params or server unavailable)>
also since i am using index.as_chat_engine i am very confused since 99% of the docs is about query engine which works slightly different and of those 90% use nodes instead of vector stores, so im kinda stuck.
i have found that i can use node postprocessors in chat engine, which i still have to test:
chat_engine = index.as_chat_engine(
node_postprocessors=[
SimilarityPostprocessor(similarity_cutoff=0.7)
],
chat_mode="context",
memory=memory,
system_prompt=(
"You are an expert Q&A system that is trusted around the world. Answer questions based on the given context."
),
)
what i would like to do is either get the hybrid method working on milvus, but i would actually prefer to have more control about the retrieval function, im not sure if node postprocessor is enough for me yet and if i really need that retrieval control, but i would like to play around with it since it seems to be available.
i could be wrong, because im kinda confused since there are so many different ways to do things, so i wouldnt be surprised if postprocessors would be the same
TLDR: i need a little guidance on retrieval for milvus vector store index.as_chat_engine