From 8ec6674592a9518c620b22a053c5700fba15f986 Mon Sep 17 00:00:00 2001 From: Jason Stillerman Date: Thu, 2 Jan 2025 11:20:17 -0500 Subject: [PATCH] feat: Add max_results kwarg to DDGS tool --- examples/ddg_leopard.py | 5 +++++ src/smolagents/default_tools.py | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 examples/ddg_leopard.py diff --git a/examples/ddg_leopard.py b/examples/ddg_leopard.py new file mode 100644 index 0000000..4d97ce9 --- /dev/null +++ b/examples/ddg_leopard.py @@ -0,0 +1,5 @@ +from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel + +agent = CodeAgent(tools=[DuckDuckGoSearchTool(max_results=2)], model=HfApiModel()) + +agent.run("How many seconds would it take for a leopard at full speed to run through Pont des Arts?") diff --git a/src/smolagents/default_tools.py b/src/smolagents/default_tools.py index d2f05c2..362b338 100644 --- a/src/smolagents/default_tools.py +++ b/src/smolagents/default_tools.py @@ -153,8 +153,9 @@ class DuckDuckGoSearchTool(Tool): } output_type = "any" - def __init__(self, **kwargs): - super().__init__(self, **kwargs) + def __init__(self, *args, max_results=10, **kwargs): + super().__init__(*args, **kwargs) + self.max_results = max_results try: from duckduckgo_search import DDGS except ImportError: @@ -164,7 +165,7 @@ class DuckDuckGoSearchTool(Tool): self.ddgs = DDGS() def forward(self, query: str) -> str: - results = self.ddgs.text(query, max_results=10) + results = self.ddgs.text(query, max_results=self.max_results) postprocessed_results = [ f"[{result['title']}]({result['href']})\n{result['body']}" for result in results