preslaff commited on
Commit
49e99e0
·
unverified ·
1 Parent(s): 1d073f7

Fixed import exception

Browse files
.ipynb_checkpoints/app-checkpoint.py CHANGED
@@ -4,6 +4,8 @@ import requests
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
 
 
7
 
8
  from Gradio_UI import GradioUI
9
 
@@ -55,7 +57,7 @@ with open("prompts.yaml", 'r') as stream:
55
 
56
  agent = CodeAgent(
57
  model=model,
58
- tools=[final_answer], ## add your tools here (don't remove final answer)
59
  max_steps=6,
60
  verbosity_level=1,
61
  grammar=None,
 
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
7
+ from tools.visit_webpage import VisitWebpageTool
8
+ from tools.web_search import DuckDuckGoSearchTool
9
 
10
  from Gradio_UI import GradioUI
11
 
 
57
 
58
  agent = CodeAgent(
59
  model=model,
60
+ tools=[final_answer, visit_webpage, web_search],## add your tools here (don't remove final answer)
61
  max_steps=6,
62
  verbosity_level=1,
63
  grammar=None,
app.py CHANGED
@@ -4,6 +4,8 @@ import requests
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
 
 
7
 
8
  from Gradio_UI import GradioUI
9
 
 
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
7
+ from tools.visit_webpage import VisitWebpageTool
8
+ from tools.web_search import DuckDuckGoSearchTool
9
 
10
  from Gradio_UI import GradioUI
11
 
tools/.ipynb_checkpoints/final_answer-checkpoint.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Optional
2
+ from smolagents.tools import Tool
3
+
4
+ class FinalAnswerTool(Tool):
5
+ name = "final_answer"
6
+ description = "Provides a final answer to the given problem."
7
+ inputs = {'answer': {'type': 'any', 'description': 'The final answer to the problem'}}
8
+ output_type = "any"
9
+
10
+ def forward(self, answer: Any) -> Any:
11
+ return answer
12
+
13
+ def __init__(self, *args, **kwargs):
14
+ self.is_initialized = False
tools/.ipynb_checkpoints/web_search-checkpoint.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Optional
2
+ from smolagents.tools import Tool
3
+ import duckduckgo_search
4
+
5
+ class DuckDuckGoSearchTool(Tool):
6
+ name = "web_search"
7
+ description = "Performs a duckduckgo web search based on your query (think a Google search) then returns the top search results."
8
+ inputs = {'query': {'type': 'string', 'description': 'The search query to perform.'}}
9
+ output_type = "string"
10
+
11
+ def __init__(self, max_results=10, **kwargs):
12
+ super().__init__()
13
+ self.max_results = max_results
14
+ try:
15
+ from duckduckgo_search import DDGS
16
+ except ImportError as e:
17
+ raise ImportError(
18
+ "You must install package `duckduckgo_search` to run this tool: for instance run `pip install duckduckgo-search`."
19
+ ) from e
20
+ self.ddgs = DDGS(**kwargs)
21
+
22
+ def forward(self, query: str) -> str:
23
+ results = self.ddgs.text(query, max_results=self.max_results)
24
+ if len(results) == 0:
25
+ raise Exception("No results found! Try a less restrictive/shorter query.")
26
+ postprocessed_results = [f"[{result['title']}]({result['href']})\n{result['body']}" for result in results]
27
+ return "## Search Results\n\n" + "\n\n".join(postprocessed_results)