浏览代码

Set filter_list as optional param in serper.py

Que Nguyen 11 月之前
父节点
当前提交
6b8290fa6d
共有 1 个文件被更改,包括 6 次插入5 次删除
  1. 6 5
      backend/apps/rag/search/serper.py

+ 6 - 5
backend/apps/rag/search/serper.py

@@ -1,16 +1,16 @@
 import json
 import logging
-from typing import List
+from typing import List, Optional
 import requests
 
-from apps.rag.search.main import SearchResult, filter_by_whitelist
+from apps.rag.search.main import SearchResult, get_filtered_results
 from config import SRC_LOG_LEVELS
 
 log = logging.getLogger(__name__)
 log.setLevel(SRC_LOG_LEVELS["RAG"])
 
 
-def search_serper(api_key: str, query: str, count: int, whitelist:List[str]) -> list[SearchResult]:
+def search_serper(api_key: str, query: str, count: int, filter_list: Optional[List[str]] = None) -> list[SearchResult]:
     """Search using serper.dev's API and return the results as a list of SearchResult objects.
 
     Args:
@@ -29,12 +29,13 @@ def search_serper(api_key: str, query: str, count: int, whitelist:List[str]) ->
     results = sorted(
         json_response.get("organic", []), key=lambda x: x.get("position", 0)
     )
-    filtered_results = filter_by_whitelist(results, whitelist)
+    if filter_list:
+        results = get_filtered_results(results, filter_list)
     return [
         SearchResult(
             link=result["link"],
             title=result.get("title"),
             snippet=result.get("description"),
         )
-        for result in filtered_results[:count]
+        for result in results[:count]
     ]