Skip to content

Commit df693df

Browse files
committed
add duckduckgo image search
1 parent f196007 commit df693df

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

templates/components/engines/python/agent/tools/duckduckgo.py

+33-1
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,37 @@ def duckduckgo_search(
3232
return results
3333

3434

35+
def duckduckgo_image_search(
36+
query: str,
37+
region: str = "wt-wt",
38+
max_results: int = 10,
39+
):
40+
"""
41+
Use this function to search for images in DuckDuckGo.
42+
Args:
43+
query (str): The query to search in DuckDuckGo.
44+
region Optional(str): The region to be used for the search in [country-language] convention, ex us-en, uk-en, ru-ru, etc...
45+
max_results Optional(int): The maximum number of results to be returned. Default is 10.
46+
"""
47+
try:
48+
from duckduckgo_search import DDGS
49+
except ImportError:
50+
raise ImportError(
51+
"duckduckgo_search package is required to use this function."
52+
"Please install it by running: `poetry add duckduckgo_search` or `pip install duckduckgo_search`"
53+
)
54+
params = {
55+
"keywords": query,
56+
"region": region,
57+
"max_results": max_results,
58+
}
59+
with DDGS() as ddg:
60+
results = list(ddg.images(**params))
61+
return results
62+
63+
3564
def get_tools(**kwargs):
36-
return [FunctionTool.from_defaults(duckduckgo_search)]
65+
return [
66+
FunctionTool.from_defaults(duckduckgo_search),
67+
FunctionTool.from_defaults(duckduckgo_image_search),
68+
]

0 commit comments

Comments
 (0)