Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,21 +21,18 @@ def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return
|
|
| 21 |
|
| 22 |
@tool
|
| 23 |
def calculate_bandwidth(users: int, usage: Dict[str, int]) -> float:
|
| 24 |
-
"""
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
:type usage: Dict[str, int]
|
| 37 |
-
:return: Recommended bandwidth in Mbps to ensure smooth performance.
|
| 38 |
-
:rtype: float
|
| 39 |
"""
|
| 40 |
usage_requirements = {
|
| 41 |
"browsing": 1, # Mbps per user
|
|
@@ -46,8 +43,7 @@ def calculate_bandwidth(users: int, usage: Dict[str, int]) -> float:
|
|
| 46 |
"remote_work": 3 # Mbps per user
|
| 47 |
}
|
| 48 |
|
| 49 |
-
total_bandwidth = sum(usage_requirements[activity] *
|
| 50 |
-
|
| 51 |
overhead = 1.2 # 20% overhead for seamless experience
|
| 52 |
return round(total_bandwidth * overhead, 2)
|
| 53 |
|
|
|
|
| 21 |
|
| 22 |
@tool
|
| 23 |
def calculate_bandwidth(users: int, usage: Dict[str, int]) -> float:
|
| 24 |
+
"""Calculate the recommended internet speed based on user inputs.
|
| 25 |
+
|
| 26 |
+
Args:
|
| 27 |
+
users: The total number of users requiring internet access.
|
| 28 |
+
usage: A dictionary with usage categories as keys and the number of users per category as values.
|
| 29 |
+
Expected keys are:
|
| 30 |
+
- "browsing": Number of users browsing the web.
|
| 31 |
+
- "video_call": Number of users on video calls.
|
| 32 |
+
- "hd_streaming": Number of users streaming in HD.
|
| 33 |
+
- "4k_streaming": Number of users streaming in 4K.
|
| 34 |
+
- "gaming": Number of users gaming online.
|
| 35 |
+
- "remote_work": Number of users working remotely.
|
|
|
|
|
|
|
|
|
|
| 36 |
"""
|
| 37 |
usage_requirements = {
|
| 38 |
"browsing": 1, # Mbps per user
|
|
|
|
| 43 |
"remote_work": 3 # Mbps per user
|
| 44 |
}
|
| 45 |
|
| 46 |
+
total_bandwidth = sum(usage_requirements[activity] * usage.get(activity, 0) for activity in usage_requirements)
|
|
|
|
| 47 |
overhead = 1.2 # 20% overhead for seamless experience
|
| 48 |
return round(total_bandwidth * overhead, 2)
|
| 49 |
|