From ffe867f7bb1a01980ecf45ffc5bba6eff5bc265b Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Sun, 10 Aug 2025 21:02:17 +0200 Subject: [PATCH] Allow to disable reranking by having an empty provider --- docs/configuration.md | 8 ++++++++ src/haiku/rag/reranking/__init__.py | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 3f42a369..c1507e49 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -109,6 +109,14 @@ Reranking improves search quality by re-ordering the initial search results usin Reranking is **automatically enabled** by default using Ollama, or if you install the appropriate reranking provider package. +### Disabling Reranking + +To disable reranking completely for faster searches: + +```bash +RERANK_PROVIDER="" +``` + ### Ollama (Default) Ollama reranking uses LLMs with structured output to rank documents by relevance: diff --git a/src/haiku/rag/reranking/__init__.py b/src/haiku/rag/reranking/__init__.py index 449d35c3..e668968f 100644 --- a/src/haiku/rag/reranking/__init__.py +++ b/src/haiku/rag/reranking/__init__.py @@ -1,22 +1,18 @@ from haiku.rag.config import Config from haiku.rag.reranking.base import RerankerBase -try: - from haiku.rag.reranking.cohere import CohereReranker -except ImportError: - pass - _reranker: RerankerBase | None = None def get_reranker() -> RerankerBase | None: """ Factory function to get the appropriate reranker based on the configuration. - Returns None if the required package is not available. + Returns None if if reranking is disabled. """ global _reranker if _reranker is not None: return _reranker + if Config.RERANK_PROVIDER == "mxbai": try: from haiku.rag.reranking.mxbai import MxBAIReranker