Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions src/opendeepsearch/context_building/build_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions src/opendeepsearch/context_scraping/crawl4ai_scraper.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down