Skip to content

feat(qdrant): expose RRF k and weights parameters in QdrantHybridRetriever - #3702

Merged
anakin87 merged 4 commits into
deepset-ai:mainfrom
SyedShahmeerAli12:feat/qdrant-rrf-params
Aug 3, 2026
Merged

feat(qdrant): expose RRF k and weights parameters in QdrantHybridRetriever#3702
anakin87 merged 4 commits into
deepset-ai:mainfrom
SyedShahmeerAli12:feat/qdrant-rrf-params

Conversation

@SyedShahmeerAli12

@SyedShahmeerAli12 SyedShahmeerAli12 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Related Issues

Proposed Changes

Exposes the k and weights RRF parameters introduced in Qdrant v1.16/v1.17 in QdrantHybridRetriever and the underlying _query_hybrid / _query_hybrid_async methods of QdrantDocumentStore.

  • Added rrf_k: int | None and rrf_weights: list[float] | None to QdrantHybridRetriever.__init__, run, and run_async
  • Added same params to QdrantDocumentStore._query_hybrid and _query_hybrid_async
  • Added _build_rrf_query() helper that returns rest.RrfQuery when either param is set, falling back to rest.FusionQuery(fusion=rest.Fusion.RRF) for backward compatibility
  • Runtime params in run / run_async override init-time defaults
  • Bumped qdrant-client minimum from >=1.12.0 to >=1.14.2 (when RrfQuery was introduced)

Testing

  • All 259 tests pass (118 unit + 141 integration), all run locally against :memory: mode no Docker required
  • Added test_to_dict_with_rrf_params, test_run_passes_rrf_params, test_run_runtime_rrf_params_override_init

@SyedShahmeerAli12
SyedShahmeerAli12 requested a review from a team as a code owner July 31, 2026 12:25
@SyedShahmeerAli12
SyedShahmeerAli12 requested review from anakin87 and removed request for a team July 31, 2026 12:25
@github-actions

Copy link
Copy Markdown
Contributor

Hi @SyedShahmeerAli12, thanks for your interest in contributing to Haystack! 🙏

⚠️ You currently have 4 open pull requests in this repository (#3565, #3483, #3254 and this one). Our review capacity is limited, so please hold off opening more PRs until we've had a chance to review your first 2 open PRs. This helps us give each contribution the attention it deserves. Thank you!

This is an automated message to help us keep the review queue healthy.

@github-actions github-actions Bot added integration:qdrant integration:docling type:documentation Improvements or additions to documentation labels Jul 31, 2026
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Coverage report (qdrant)

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  integrations/qdrant/src/haystack_integrations/components/retrievers/qdrant
  retriever.py
  integrations/qdrant/src/haystack_integrations/document_stores/qdrant
  document_store.py 1690-1694, 1717, 1952-1954, 1977-1978
Project Total  

This report was generated by python-coverage-comment-action

Comment thread integrations/qdrant/tests/test_hybrid_retriever.py Outdated
@anakin87
anakin87 merged commit 3d1764b into deepset-ai:main Aug 3, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration:docling integration:qdrant type:documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Qdrant: Add RRF parameters to hybrid search

2 participants