Retrieving using Langchain's PineconeHybridSearchRetriever() vs. direct query to index

I can’t find any good answers to this anywhere, so I ask here, hopefully someone has experience using Langchain’s PineconeHybridSearchRetriever to perform hybrid search on a Pinecone index. My question is; using the object’s invoke() method to query an index, why does this method produces a different result (i.e. return different documents) than Pinecone’s own index.query() method? Don’t they both use the same hybrid search algorithm?

I have made sure to pass both sparse and dense vectors to index.query(), so that is performs hybrid search. I also made sure to use the same embeddings for sparse and dense values for both methods. The weighting alpha is set to 0.5 for the The PineconeHybridSearchRetriever, which I guess is also the default for the index.query() method of Pinecone.

@lars.vatten ,

LangChain is an open-source framework, so you can see for yourself how the PineconeHybridSearchRetriever class is implemented. I suggest that you compare this against your personal code and figure out what the differences are.

Best,

Evan