david-clifford commited on
Commit
69d1864
·
verified ·
1 Parent(s): 005a7d2

Add exceptions for when the list of tools is not available.

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -27,13 +27,16 @@ def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return
27
  ## https://huggingface.co/spaces/DenverJones/First_agent_template/blob/main/app.py ## randomly select a Motivational Quote
28
 
29
  @tool
30
- def available_tools()-> str: #it's import to specify the return type
31
- #Keep this format for the description / args / args description but feel free to modify the tool
32
  """A tool that takes no arguments but returns a list of tools available to the agent
33
  Args:
34
  None
35
  """
36
- return [f.name for f in tool_list]
 
 
 
 
37
 
38
 
39
  @tool
@@ -65,9 +68,14 @@ def get_current_time_in_timezone(timezone: str) -> str:
65
  except Exception as e:
66
  return f"Error fetching time for timezone '{timezone}': {str(e)}"
67
 
68
-
69
  final_answer = FinalAnswerTool()
70
 
 
 
 
 
 
 
71
  MODEL_IDS = [
72
  #'https://wxknx1kg971u7k1n.us-east-1.aws.endpoints.huggingface.cloud/',
73
  #'https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud/',
@@ -118,17 +126,12 @@ model = HfApiModel(
118
  custom_role_conversions=None,
119
  )
120
 
121
- # Import tool from Hub
122
- image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True) ## https://huggingface.co/spaces/agents-course/text-to-image
123
-
124
  with open("prompts.yaml", 'r') as stream:
125
  prompt_templates = yaml.safe_load(stream)
126
 
127
- tool_list = [final_answer, get_current_time_in_timezone, image_generation_tool, toss_a_die, available_tools]
128
-
129
  agent = CodeAgent(
130
  model=model,
131
- tools=tool_list, ## add your tools here (don't remove final answer)
132
  max_steps=6,
133
  verbosity_level=1,
134
  grammar=None,
@@ -138,5 +141,4 @@ agent = CodeAgent(
138
  prompt_templates=prompt_templates
139
  )
140
 
141
-
142
  GradioUI(agent).launch()
 
27
  ## https://huggingface.co/spaces/DenverJones/First_agent_template/blob/main/app.py ## randomly select a Motivational Quote
28
 
29
  @tool
30
+ def available_tools()-> str:
 
31
  """A tool that takes no arguments but returns a list of tools available to the agent
32
  Args:
33
  None
34
  """
35
+ try:
36
+ result = [f.name for f in tool_list]
37
+ return result
38
+ except Exception as e:
39
+ return "I do not have a list of tools that I can share."
40
 
41
 
42
  @tool
 
68
  except Exception as e:
69
  return f"Error fetching time for timezone '{timezone}': {str(e)}"
70
 
 
71
  final_answer = FinalAnswerTool()
72
 
73
+ # Import tool from Hub
74
+ image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True) ## https://huggingface.co/spaces/agents-course/text-to-image
75
+
76
+ # Create a list of the tools available to the agent
77
+ #tool_list = [final_answer, get_current_time_in_timezone, image_generation_tool, toss_a_die, available_tools]
78
+
79
  MODEL_IDS = [
80
  #'https://wxknx1kg971u7k1n.us-east-1.aws.endpoints.huggingface.cloud/',
81
  #'https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud/',
 
126
  custom_role_conversions=None,
127
  )
128
 
 
 
 
129
  with open("prompts.yaml", 'r') as stream:
130
  prompt_templates = yaml.safe_load(stream)
131
 
 
 
132
  agent = CodeAgent(
133
  model=model,
134
+ tools=[final_answer, get_current_time_in_timezone, image_generation_tool, toss_a_die, available_tools] #tool_list, ## add your tools here (don't remove final answer)
135
  max_steps=6,
136
  verbosity_level=1,
137
  grammar=None,
 
141
  prompt_templates=prompt_templates
142
  )
143
 
 
144
  GradioUI(agent).launch()