1+ from loguru import logger
12from tavily import TavilyClient
23
34from apex .services .websearch .websearch_base import WebSearchBase , Website
@@ -10,20 +11,23 @@ def __init__(self, key: str):
1011 self .client = TavilyClient (key )
1112
1213 async def search (self , query : str , max_results : int = 5 ) -> list [Website ]:
13- response = self .client .search (
14- query = query [: self .QUERY_LIMIT ],
15- max_results = max_results ,
16- )
1714 websites : list [Website ] = []
18- response_time = response .get ("response_time" )
19- for result in response .get ("results" , []):
20- website = Website (
21- query = query ,
22- url = result .get ("url" ),
23- content = result .get ("content" ),
24- title = result .get ("title" ),
25- score = result .get ("score" ),
26- response_time = response_time ,
15+ try :
16+ response = self .client .search (
17+ query = query [: self .QUERY_LIMIT ],
18+ max_results = max_results ,
2719 )
28- websites .append (website )
20+ response_time = response .get ("response_time" )
21+ for result in response .get ("results" , []):
22+ website = Website (
23+ query = query ,
24+ url = result .get ("url" ),
25+ content = result .get ("content" ),
26+ title = result .get ("title" ),
27+ score = result .get ("score" ),
28+ response_time = response_time ,
29+ )
30+ websites .append (website )
31+ except Exception as exc :
32+ logger .error (f"Exception during web search: { exc } " )
2933 return websites
0 commit comments