diff --git a/backend/open_webui/retrieval/utils.py b/backend/open_webui/retrieval/utils.py index 06f8e939e..087fd9208 100644 --- a/backend/open_webui/retrieval/utils.py +++ b/backend/open_webui/retrieval/utils.py @@ -446,6 +446,8 @@ def get_embedding_function( def get_reranking_function(reranking_engine, reranking_model, reranking_function): + if reranking_function is None: + return None if reranking_engine == "external": return lambda sentences, user=None: reranking_function.predict( sentences, user=user diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 25e6754b0..97db0a72f 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -2049,8 +2049,12 @@ def query_doc_handler( query, prefix=prefix, user=user ), k=form_data.k if form_data.k else request.app.state.config.TOP_K, - reranking_function=lambda sentences: request.app.state.RERANKING_FUNCTION( - sentences, user=user + reranking_function=( + lambda sentences: ( + request.app.state.RERANKING_FUNCTION(sentences, user=user) + if request.app.state.RERANKING_FUNCTION + else None + ) ), k_reranker=form_data.k_reranker or request.app.state.config.TOP_K_RERANKER, diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index e5850735b..fc2154345 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -652,8 +652,14 @@ async def chat_completion_files_handler( query, prefix=prefix, user=user ), k=request.app.state.config.TOP_K, - reranking_function=lambda sentences: request.app.state.RERANKING_FUNCTION( - sentences, user=user + reranking_function=( + lambda sentences: ( + request.app.state.RERANKING_FUNCTION( + sentences, user=user + ) + if request.app.state.RERANKING_FUNCTION + else None + ) ), k_reranker=request.app.state.config.TOP_K_RERANKER, r=request.app.state.config.RELEVANCE_THRESHOLD,