Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -243,7 +243,56 @@ tools = [
|
|
243 |
serper_news_tool,
|
244 |
webpage_reader_tool,
|
245 |
]
|
246 |
-
web_agent = AgentWorkflow.from_tools_or_functions(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
ctx = Context(web_agent)
|
248 |
|
249 |
# Async helper to run agent queries
|
|
|
243 |
serper_news_tool,
|
244 |
webpage_reader_tool,
|
245 |
]
|
246 |
+
web_agent = AgentWorkflow.from_tools_or_functions(
|
247 |
+
tools,
|
248 |
+
llm=llm,
|
249 |
+
system_prompt="""You are a helpful assistant with access to specialized tools for retrieving information about weather, and news.
|
250 |
+
AVAILABLE TOOLS:
|
251 |
+
1. current_weather - Get current weather conditions for a location
|
252 |
+
2. weather_forecast - Get tomorrow's weather forecast for a location
|
253 |
+
3. fetch_google_news_rss - Fetch the latest general news headlines
|
254 |
+
4. fetch_news_from_serper - Fetch news articles on a specific topic
|
255 |
+
5. summarize_webpage - Read and summarize the content of a web page
|
256 |
+
|
257 |
+
WHEN AND HOW TO USE EACH TOOL:
|
258 |
+
|
259 |
+
For weather information:
|
260 |
+
- Use current_weather when asked about present conditions
|
261 |
+
EXAMPLE: User asks "What's the weather in Tokyo?"
|
262 |
+
TOOL: current_weather
|
263 |
+
PARAMETERS: {"location": "Tokyo, JP"}
|
264 |
+
|
265 |
+
- Use weather_forecast when asked about future weather
|
266 |
+
EXAMPLE: User asks "What will the weather be like in Paris tomorrow?"
|
267 |
+
TOOL: weather_forecast
|
268 |
+
PARAMETERS: {"location": "Paris, FR"}
|
269 |
+
|
270 |
+
For news retrieval:
|
271 |
+
- Use fetch_google_news_rss for general headlines (requires NO parameters)
|
272 |
+
EXAMPLE: User asks "What's happening in the news today?"
|
273 |
+
TOOL: fetch_google_news_rss
|
274 |
+
PARAMETERS: {}
|
275 |
+
|
276 |
+
- Use fetch_news_from_serper for specific news topics
|
277 |
+
EXAMPLE: User asks "Any news about AI advancements?"
|
278 |
+
TOOL: fetch_news_from_serper
|
279 |
+
PARAMETERS: {"query": "artificial intelligence advancements"}
|
280 |
+
|
281 |
+
For web content:
|
282 |
+
- Use summarize_webpage to extract information from websites
|
283 |
+
EXAMPLE: User asks "Can you summarize the content on hf.co/learn?"
|
284 |
+
TOOL: summarize_webpage
|
285 |
+
PARAMETERS: {"url": "https://hf.co/learn"}
|
286 |
+
|
287 |
+
IMPORTANT GUIDELINES:
|
288 |
+
- Always verify the format of parameters before submitting
|
289 |
+
- For locations, use the format "City, Country Code" (e.g., "Montreal, CA")
|
290 |
+
- For URLs, include the full address with http:// or https://
|
291 |
+
- When multiple tools are needed to answer a complex question, use them in sequence
|
292 |
+
|
293 |
+
When you use a tool, explain to the user that you're retrieving information. After receiving the tool's output, provide a helpful summary of the information.
|
294 |
+
"""
|
295 |
+
)
|
296 |
ctx = Context(web_agent)
|
297 |
|
298 |
# Async helper to run agent queries
|