Skip to content

Commit e5d9926

Browse files
committed
fix(haystack): pass through top_k request to joiner, to get more results
1 parent b4f1129 commit e5d9926

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

api/pkg/rag/rag_haystack.go

+1
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ func (h *HaystackRAG) Query(ctx context.Context, q *types.SessionRAGQuery) ([]*t
233233
},
234234
},
235235
}
236+
logger.Trace().Interface("query_request", queryReq).Msg("query request")
236237

237238
// Add document ID filter if there are any document IDs
238239
if len(documentIDConditions) > 0 {

haystack_service/app/service.py

+5
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ def _init_query_pipeline(self):
174174
# Save retrievers for parameter updates
175175
self.vector_retriever = vector_retriever
176176
self.bm25_retriever = bm25_retriever
177+
self.document_joiner = document_joiner
177178

178179
logger.info("Initialized query pipeline")
179180

@@ -377,6 +378,10 @@ async def query(self, query_text: str, filters: Dict[str, Any] = None, top_k: in
377378

378379
self.bm25_retriever.top_k = top_k
379380
self.bm25_retriever.filters = formatted_filters
381+
# At this point there are 2*top_k results from the retrievers
382+
383+
logger.info(f"Chopping joined results in half to meet the request for top_k: {top_k}")
384+
self.document_joiner.top_k = top_k
380385

381386
# Set up the parameters for the query pipeline
382387
params = {

0 commit comments

Comments
 (0)