kracozebr commited on
Commit
3599ec5
·
verified ·
1 Parent(s): 9a8c112

add search tool

Browse files
Files changed (1) hide show
  1. app.py +25 -5
app.py CHANGED
@@ -9,14 +9,34 @@ 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_cutom_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:
 
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
+ def get_search_results(query:str, num_results: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 search in internet throught DuckDuckGoSearch engine
15
  Args:
16
+ query: query what to search
17
+ num_results: how many results to ouput
18
  """
19
+
20
+ search_tool = DuckDuckGoSearchTool(num_results=num_results)
21
+
22
+ try:
23
+ results = search_tool.run(query, time_period="m")
24
+ if len(results == 0):
25
+ return "Sorry, I can't find anything?"
26
+ else:
27
+ first_part_of_answer = f"On your query: {(query)} The top {num_results} are:\n"
28
+ last_part_of_answer = ""
29
+
30
+ for r in results:
31
+ last_part_of_answer += f"Title: {r['title']}\nSnippet: {r['snippet']}\nURL: {r['url']}\n")
32
+
33
+ return first_part_of_answer+last_part_of_answer
34
+
35
+ except Exception as e:
36
+ print(f"An error occurred: {e}")
37
+
38
+
39
+ print(results)
40
 
41
  @tool
42
  def get_current_time_in_timezone(timezone: str) -> str: