From 18bd83413be3302d4a0b9f92af4f8018bae2c381 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 14 Jul 2025 14:05:06 +0400 Subject: [PATCH] refac --- backend/open_webui/retrieval/utils.py | 2 ++ backend/open_webui/routers/retrieval.py | 8 ++++++-- backend/open_webui/utils/middleware.py | 10 ++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) 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,