rahulkarda commited on
Commit
347e1ae
·
verified ·
1 Parent(s): 8c5c24b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -7
app.py CHANGED
@@ -7,16 +7,41 @@ from tools.final_answer import FinalAnswerTool
7
 
8
  from Gradio_UI import GradioUI
9
 
10
- # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
- def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return type
13
- #Keep this format for the description / args / args description but feel free to modify the tool
14
- """A tool that does nothing yet
 
15
  Args:
16
- arg1: the first argument
17
- arg2: the second argument
18
  """
19
- return "What magic will you build ?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  @tool
22
  def get_current_time_in_timezone(timezone: str) -> str:
 
7
 
8
  from Gradio_UI import GradioUI
9
 
 
10
  @tool
11
+ def DuckDuckGoSearchTool(query: str, max_results: int = 5) -> str:
12
+ """
13
+ A tool that performs web search for real time queries.
14
+
15
  Args:
16
+ query: User search query.
17
+ max_results: Number of search results to retrieve (default: 5).
18
  """
19
+
20
+ try:
21
+ results_text = []
22
+
23
+ with DDGS() as ddgs:
24
+ results = ddgs.text(query, max_results=max_results)
25
+
26
+ for i, result in enumerate(results, start=1):
27
+ title = result.get("title", "No title")
28
+ link = result.get("href", "No link")
29
+ snippet = result.get("body", "No description")
30
+
31
+ formatted = (
32
+ f"{i}. {title}\n"
33
+ f" 🔗 {link}\n"
34
+ f" 📝 {snippet}\n"
35
+ )
36
+ results_text.append(formatted)
37
+
38
+ if not results_text:
39
+ return "No results found."
40
+
41
+ return "\n".join(results_text)
42
+
43
+ except Exception as e:
44
+ return f"Search failed due to error: {str(e)}"
45
 
46
  @tool
47
  def get_current_time_in_timezone(timezone: str) -> str: