Переглянути джерело

Set filter_list as optional param in serply.py

Que Nguyen 11 місяців тому
батько
коміт
bcb84235b1
1 змінених файлів з 6 додано та 5 видалено
  1. 6 5
      backend/apps/rag/search/serply.py

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

@@ -1,10 +1,10 @@
 import json
 import logging
-from typing import List
+from typing import List, Optional
 import requests
 from urllib.parse import urlencode
 
-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__)
@@ -15,11 +15,11 @@ def search_serply(
     api_key: str,
     query: str,
     count: int,
-    whitelist:List[str],
     hl: str = "us",
     limit: int = 10,
     device_type: str = "desktop",
     proxy_location: str = "US",
+    filter_list: Optional[List[str]] = None,
 ) -> list[SearchResult]:
     """Search using serper.dev's API and return the results as a list of SearchResult objects.
 
@@ -58,12 +58,13 @@ def search_serply(
     results = sorted(
         json_response.get("results", []), key=lambda x: x.get("realPosition", 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]
     ]