Browse Source

Set filter_list as optional param in brave.py

Que Nguyen 11 months ago
parent
commit
a02139ba9d
1 changed files with 7 additions and 5 deletions
  1. 7 5
      backend/apps/rag/search/brave.py

+ 7 - 5
backend/apps/rag/search/brave.py

@@ -1,15 +1,15 @@
 import logging
 import logging
-from typing import List
+from typing import List, Optional
 import requests
 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
 from config import SRC_LOG_LEVELS
 
 
 log = logging.getLogger(__name__)
 log = logging.getLogger(__name__)
 log.setLevel(SRC_LOG_LEVELS["RAG"])
 log.setLevel(SRC_LOG_LEVELS["RAG"])
 
 
 
 
-def search_brave(api_key: str, query: str, whitelist:List[str], count: int) -> list[SearchResult]:
+def search_brave(api_key: str, query: str, count: int, filter_list: Optional[List[str]] = None) -> list[SearchResult]:
     """Search using Brave's Search API and return the results as a list of SearchResult objects.
     """Search using Brave's Search API and return the results as a list of SearchResult objects.
 
 
     Args:
     Args:
@@ -29,10 +29,12 @@ def search_brave(api_key: str, query: str, whitelist:List[str], count: int) -> l
 
 
     json_response = response.json()
     json_response = response.json()
     results = json_response.get("web", {}).get("results", [])
     results = json_response.get("web", {}).get("results", [])
-    filtered_results = filter_by_whitelist(results, whitelist)
+    if filter_list:
+        results = get_filtered_results(results, filter_list)
+    
     return [
     return [
         SearchResult(
         SearchResult(
             link=result["url"], title=result.get("title"), snippet=result.get("snippet")
             link=result["url"], title=result.get("title"), snippet=result.get("snippet")
         )
         )
-        for result in filtered_results[:count]
+        for result in results[:count]
     ]
     ]