Peterase commited on
Commit
2acfa1a
·
1 Parent(s): 81b613f

fix: correct DuckDuckGo API call and database search execution

Browse files

- Fix ddgs.news() to use query as first positional argument
- Fix database search to run synchronous function in executor
- Resolves TypeError: DDGS.news() missing required argument
- Resolves Database search error: unhashable type 'list'

src/core/orchestrator/query_orchestrator.py CHANGED
@@ -378,11 +378,16 @@ class QueryOrchestrator:
378
  search_tasks = []
379
  for i, lang in enumerate(languages):
380
  sparse_vec = sparse_embeddings[i].get("sparse")
381
- task = vector_store.search_with_vectors(
382
- dense_vec=dense_vec,
383
- sparse_vec=sparse_vec,
384
- limit=top_k,
385
- language_filter=lang
 
 
 
 
 
386
  )
387
  search_tasks.append(task)
388
 
 
378
  search_tasks = []
379
  for i, lang in enumerate(languages):
380
  sparse_vec = sparse_embeddings[i].get("sparse")
381
+ # search_with_vectors is synchronous, so we run it in executor
382
+ task = asyncio.get_event_loop().run_in_executor(
383
+ None,
384
+ vector_store.search_with_vectors,
385
+ dense_vec,
386
+ sparse_vec,
387
+ top_k,
388
+ None, # source_filter
389
+ lang, # language_filter
390
+ None # days_back
391
  )
392
  search_tasks.append(task)
393
 
src/infrastructure/adapters/duckduckgo_adapter.py CHANGED
@@ -139,9 +139,9 @@ class DuckDuckGoAdapter:
139
  results = []
140
 
141
  try:
142
- # DuckDuckGo news search
143
  raw_results = self.ddgs.news(
144
- keywords=query,
145
  region=region,
146
  max_results=max_results
147
  )
 
139
  results = []
140
 
141
  try:
142
+ # DuckDuckGo news search (ddgs package uses query as first positional arg)
143
  raw_results = self.ddgs.news(
144
+ query, # First positional argument
145
  region=region,
146
  max_results=max_results
147
  )