Create appended file

#447
Files changed (1) hide show
  1. Append app file +69 -0
Append app file ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, tool
2
+ import datetime
3
+ import requests
4
+ import pytz
5
+ import yaml
6
+
7
+ # Assuming the following modules are available in your project
8
+ from tools.final_answer import FinalAnswerTool
9
+ from Gradio_UI import GradioUI
10
+
11
+ # Tool that does nothing (custom example)
12
+ @tool
13
+ def my_custom_tool(arg1: str, arg2: int) -> str:
14
+ """
15
+ A tool that does nothing yet
16
+ Args:
17
+ arg1: the first argument
18
+ arg2: the second argument
19
+ """
20
+ return "What magic will you build?"
21
+
22
+ # Tool to get current time in a timezone
23
+ @tool
24
+ def get_current_time_in_timezone(timezone: str) -> str:
25
+ """
26
+ A tool that fetches the current local time in a specified timezone.
27
+ Args:
28
+ timezone: A string representing a valid timezone (e.g., 'America/New_York').
29
+ """
30
+ try:
31
+ tz = pytz.timezone(timezone)
32
+ local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
33
+ return f"The current local time in {timezone} is: {local_time}"
34
+ except Exception as e:
35
+ return f"Error fetching time for timezone '{timezone}': {str(e)}"
36
+
37
+ # Final Answer Tool
38
+ final_answer = FinalAnswerTool()
39
+
40
+ # Model configuration
41
+ model = HfApiModel(
42
+ max_tokens=2096,
43
+ temperature=0.5,
44
+ model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
45
+ custom_role_conversions=None,
46
+ )
47
+
48
+ # Optional: Load image generation tool if needed
49
+ image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
50
+
51
+ # Load prompt templates from YAML
52
+ with open("prompts.yaml", 'r') as stream:
53
+ prompt_templates = yaml.safe_load(stream)
54
+
55
+ # Create the agent with all tools
56
+ agent = CodeAgent(
57
+ model=model,
58
+ tools=[final_answer, my_custom_tool, get_current_time_in_timezone, image_generation_tool],
59
+ max_steps=6,
60
+ verbosity_level=1,
61
+ grammar=None,
62
+ planning_interval=None,
63
+ name=None,
64
+ description=None,
65
+ prompt_templates=prompt_templates
66
+ )
67
+
68
+ # Launch Gradio UI
69
+ GradioUI(agent).launch()