dlaima commited on
Commit
d3b2621
·
verified ·
1 Parent(s): b0416f2

Update tools.py

Browse files
Files changed (1) hide show
  1. tools.py +8 -34
tools.py CHANGED
@@ -31,57 +31,31 @@ def search_wikipedia(query: str) -> str:
31
  return "\n".join([r['title'] for r in results])
32
  return "No search results found."
33
 
34
- # ✅ Actual tools expecting dict inputs
35
  class WikipediaTool(Tool):
36
  name = "WikipediaTool"
37
- description = "Fetches plain text from a Wikipedia article. Input should be the article title."
38
  inputs = {"query": "string"}
39
  output_type = "string"
40
 
41
- def __call__(self, inputs: dict) -> str:
42
- return fetch_wikipedia_article(inputs["query"])
43
-
44
- class WikipediaSearchTool(Tool):
45
- name = "WikipediaSearchTool"
46
- description = "Searches Wikipedia for article titles related to a query. Input should be a question or topic."
47
- inputs = {"query": "string"}
48
- output_type = "string"
49
-
50
- def __call__(self, inputs: dict) -> str:
51
- return search_wikipedia(inputs["query"])
52
-
53
- # ✅ Wrapper Tools (these are called by CodeAgent)
54
- class WikipediaToolWrapper(Tool):
55
- name = "WikipediaToolWrapper"
56
- description = WikipediaTool.description
57
- inputs = {"query": "string"}
58
- output_type = "string"
59
-
60
- def __init__(self):
61
- self.tool = WikipediaTool()
62
-
63
- def __call__(self, inputs: dict) -> str:
64
  if isinstance(inputs, str):
65
  inputs = {"query": inputs}
66
  elif isinstance(inputs, dict) and "query" not in inputs:
67
  inputs = {"query": next(iter(inputs.values()))}
68
- return self.tool(inputs)
69
 
70
- class WikipediaSearchToolWrapper(Tool):
71
- name = "WikipediaSearchToolWrapper"
72
- description = WikipediaSearchTool.description
73
  inputs = {"query": "string"}
74
  output_type = "string"
75
 
76
- def __init__(self):
77
- self.tool = WikipediaSearchTool()
78
-
79
- def __call__(self, inputs: dict) -> str:
80
  if isinstance(inputs, str):
81
  inputs = {"query": inputs}
82
  elif isinstance(inputs, dict) and "query" not in inputs:
83
  inputs = {"query": next(iter(inputs.values()))}
84
- return self.tool(inputs)
85
 
86
 
87
 
 
31
  return "\n".join([r['title'] for r in results])
32
  return "No search results found."
33
 
 
34
  class WikipediaTool(Tool):
35
  name = "WikipediaTool"
36
+ description = "Fetches plain text from a Wikipedia article. Input should be the article title as a string."
37
  inputs = {"query": "string"}
38
  output_type = "string"
39
 
40
+ def __call__(self, inputs) -> str:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  if isinstance(inputs, str):
42
  inputs = {"query": inputs}
43
  elif isinstance(inputs, dict) and "query" not in inputs:
44
  inputs = {"query": next(iter(inputs.values()))}
45
+ return fetch_wikipedia_article(inputs["query"])
46
 
47
+ class WikipediaSearchTool(Tool):
48
+ name = "WikipediaSearchTool"
49
+ description = "Searches Wikipedia for article titles. Input should be a question or topic as a string."
50
  inputs = {"query": "string"}
51
  output_type = "string"
52
 
53
+ def __call__(self, inputs) -> str:
 
 
 
54
  if isinstance(inputs, str):
55
  inputs = {"query": inputs}
56
  elif isinstance(inputs, dict) and "query" not in inputs:
57
  inputs = {"query": next(iter(inputs.values()))}
58
+ return search_wikipedia(inputs["query"])
59
 
60
 
61