From 9c446d9fb4961cf39cb9750c8fec18909a6e0aa8 Mon Sep 17 00:00:00 2001 From: Que Nguyen Date: Mon, 17 Jun 2024 14:36:56 +0700 Subject: [PATCH] Set filter_list as optional param in searxng.py --- backend/apps/rag/search/searxng.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/apps/rag/search/searxng.py b/backend/apps/rag/search/searxng.py index 954aaf072..850513ee1 100644 --- a/backend/apps/rag/search/searxng.py +++ b/backend/apps/rag/search/searxng.py @@ -1,9 +1,9 @@ import logging import requests -from typing import List +from typing import List, Optional -from apps.rag.search.main import SearchResult +from apps.rag.search.main import SearchResult, get_filtered_results from config import SRC_LOG_LEVELS log = logging.getLogger(__name__) @@ -11,7 +11,7 @@ log.setLevel(SRC_LOG_LEVELS["RAG"]) def search_searxng( - query_url: str, query: str, count: int, whitelist:List[str], **kwargs + query_url: str, query: str, count: int, filter_list: Optional[List[str]] = None, **kwargs ) -> List[SearchResult]: """ Search a SearXNG instance for a given query and return the results as a list of SearchResult objects. @@ -78,10 +78,11 @@ def search_searxng( json_response = response.json() results = json_response.get("results", []) sorted_results = sorted(results, key=lambda x: x.get("score", 0), reverse=True) - filtered_results = filter_by_whitelist(sorted_results, whitelist) + if filter_list: + sorted_results = get_filtered_results(sorted_results, whitelist) return [ SearchResult( link=result["url"], title=result.get("title"), snippet=result.get("content") ) - for result in filtered_results[:count] + for result in sorted_results[:count] ]