Files changed (1) hide show
  1. app.py +16 -7
app.py CHANGED
@@ -9,14 +9,23 @@ 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_custom_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:
@@ -55,7 +64,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,
 
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
+ def get_tech_news(topic: str = "technology") -> str:
13
+ """Fetches the latest tech news headlines.
14
+
15
  Args:
16
+ topic: The news topic or keyword to search for (e.g., 'AI', 'technology', 'startups').
 
17
  """
18
+ try:
19
+ url = f"https://hn.algolia.com/api/v1/search_by_date?query={topic}&tags=story"
20
+ response = requests.get(url, timeout=10)
21
+ data = response.json()
22
+ hits = data.get("hits", [])[:5]
23
+ if not hits:
24
+ return f"No recent news found for '{topic}'."
25
+ headlines = [f"- {h['title']} ({h.get('url', 'no link')})" for h in hits]
26
+ return "Latest tech news:\n" + "\n".join(headlines)
27
+ except Exception as e:
28
+ return f"Error fetching news: {str(e)}"
29
 
30
  @tool
31
  def get_current_time_in_timezone(timezone: str) -> str:
 
64
 
65
  agent = CodeAgent(
66
  model=model,
67
+ tools=[final_answer, get_tech_news], ## add your tools here (don't remove final answer)
68
  max_steps=6,
69
  verbosity_level=1,
70
  grammar=None,