Hi, I'm having trouble tracing the cause of this issue in the source code (
v0.9.14.post3).
I built a hybrid retriever:
vector_retriever = index.as_retriever(similarity_top_k = 3)
bm25_retriever = BM25Retriever.from_defaults(docstore = index.docstore, similarity_top_k = 3)
retriever = QueryFusionRetriever(
llm = llama,
mode = "reciprocal_rerank",
num_queries = 1, # set this to 1 to disable query generation
retrievers = [bm25_retriever, vector_retriever],
similarity_top_k = 3,
use_async = True,
verbose = True
)
query_engine = RetrieverQueryEngine.from_args(retriever)
Note that the
llm argument is initialized to be
llama which is defined elsewhere as one of the Llama-2 chat models. Yet, when I call _query
engine.query(), it still sends API calls to OpenAI for completion. I thought it shouldn't be doing that because I've passed in a non-default model into the
llm argument in the
QueryFusionRetriever class.
What gives?