From 52c9eec7711c670e449eeb2f47e01dd63315faa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=92=D0=B0=D1=81?= =?UTF-8?q?=D0=B8=D0=BB=D1=8C=D0=B5=D0=B2?= Date: Fri, 11 Jul 2025 19:59:15 +0300 Subject: [PATCH] Update deprecated duckduckgo-search to ddgs --- pyproject.toml | 2 +- src/smolagents/default_tools.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b310c9daf..4d01b7b4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,7 +64,7 @@ telemetry = [ "openinference-instrumentation-smolagents>=0.1.4" ] toolkit = [ - "duckduckgo-search>=6.3.7", # DuckDuckGoSearchTool + "ddgs>=9.0.2", # DuckDuckGoSearchTool "markdownify>=0.14.1", # VisitWebpageTool ] transformers = [ diff --git a/src/smolagents/default_tools.py b/src/smolagents/default_tools.py index 9f258c325..28c41f2a6 100644 --- a/src/smolagents/default_tools.py +++ b/src/smolagents/default_tools.py @@ -127,16 +127,16 @@ def __init__(self, max_results: int = 10, rate_limit: float | None = 1.0, **kwar self._min_interval = 1.0 / rate_limit if rate_limit else 0.0 self._last_request_time = 0.0 try: - from duckduckgo_search import DDGS + from ddgs import DDGS except ImportError as e: raise ImportError( - "You must install package `duckduckgo_search` to run this tool: for instance run `pip install duckduckgo-search`." + "You must install package `ddgs` to run this tool: for instance run `pip install ddgs`." ) from e self.ddgs = DDGS(**kwargs) def forward(self, query: str) -> str: self._enforce_rate_limit() - results = self.ddgs.text(query, max_results=self.max_results) + results = self.ddgs.text(query, num_results=self.max_results, backend='duckduckgo') if len(results) == 0: raise Exception("No results found! Try a less restrictive/shorter query.") postprocessed_results = [f"[{result['title']}]({result['href']})\n{result['body']}" for result in results]