diff --git a/src/opendeepsearch/context_building/build_context.py b/src/opendeepsearch/context_building/build_context.py index ffc30f6..8f1c53a 100644 --- a/src/opendeepsearch/context_building/build_context.py +++ b/src/opendeepsearch/context_building/build_context.py @@ -59,11 +59,17 @@ def build_context( A formatted string containing all relevant search results """ try: + # Handle SearchResult object vs dict + if hasattr(sources_result, 'data'): + data = sources_result.data if sources_result.data else {} + else: + data = sources_result + # Build context from different components - organic_results = extract_information(sources_result.get('organic', [])) - top_stories = extract_top_stories(sources_result.get('topStories')) + organic_results = extract_information(data.get('organic', [])) + top_stories = extract_top_stories(data.get('topStories')) answer_box = extract_answer_box( - sources_result.get('answerBox') + data.get('answerBox') ) # Combine all results into a single string diff --git a/src/opendeepsearch/context_scraping/crawl4ai_scraper.py b/src/opendeepsearch/context_scraping/crawl4ai_scraper.py index ed380e8..13a3c58 100644 --- a/src/opendeepsearch/context_scraping/crawl4ai_scraper.py +++ b/src/opendeepsearch/context_scraping/crawl4ai_scraper.py @@ -71,7 +71,7 @@ async def scrape(self, url: str) -> Dict[str, ExtractionResult]: """ # Handle Wikipedia URLs if 'wikipedia.org/wiki/' in url: - from src.opendeepsearch.context_scraping.utils import get_wikipedia_content + from opendeepsearch.context_scraping.utils import get_wikipedia_content try: content = get_wikipedia_content(url) # Create same result for all strategies since we're using Wikipedia content @@ -160,12 +160,12 @@ async def extract(self, extraction_config: ExtractionConfig, url: str) -> Extrac content = result.extracted_content if self.filter_content and content: - from src.opendeepsearch.context_scraping.utils import filter_quality_content + from opendeepsearch.context_scraping.utils import filter_quality_content content = filter_quality_content(content) else: content = result.extracted_content if self.filter_content and content: - from src.opendeepsearch.context_scraping.utils import filter_quality_content + from opendeepsearch.context_scraping.utils import filter_quality_content content = filter_quality_content(content) if self.debug: