Find answers from the community

Updated 2 months ago

i am really confused about how to get

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:
Plain Text
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:
Plain Text
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
L
B
2 comments
I guess I'm also confused at what you need πŸ˜… what do you mean by control?

Hybrid retrieval was only recently added to milvus, so double check your milvus version

pip install -U llama-index-vector-stores-milvus pymilvus

Node postprocessors are applied after retrieval, and you can have as many as you want, and even sub-class and create a custom one
i read a lot about retrieval but never got it working other than the "standard" way: chat_engine.chat(question), i was curious if changing some settings would improve my RAG implementation

since node processing happens after retrieval, im not sure if it has the same effect as the retrieval methods before.
if it is ill try that out more first

edit: i was confused because there are so many different ways of retrieval, but none worked for my chat engines + vector store combination vs the query engine + nodes, the docs dont seem to favor me in that regard πŸ˜„

im pretty sure milvus 2.4 is installed and working, double checked it
Attachment
image.png
Add a reply
Sign up and join the conversation on Discord