Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -7,26 +7,17 @@ from tools.final_answer import FinalAnswerTool
|
|
7 |
|
8 |
from Gradio_UI import GradioUI
|
9 |
|
10 |
-
from typing import Dict
|
11 |
-
from pydantic import BaseModel, Field
|
12 |
-
|
13 |
-
class ClosestPrimeNumberInput(BaseModel):
|
14 |
-
number: int = Field(..., description="The input number to find the closest prime to")
|
15 |
-
|
16 |
-
class ClosestPrimeNumberOutput(BaseModel):
|
17 |
-
input_number: int = Field(..., description="The original input number")
|
18 |
-
closest_prime: int = Field(..., description="The closest prime number found")
|
19 |
-
difference: int = Field(..., description="The absolute difference between the input and the closest prime")
|
20 |
|
21 |
@tool
|
22 |
-
def closest_prime_number(
|
23 |
"""Finds the closest prime number to a given input number.
|
24 |
|
25 |
Args:
|
26 |
-
|
27 |
|
28 |
Returns:
|
29 |
-
|
30 |
"""
|
31 |
|
32 |
def is_prime(n: int) -> bool:
|
@@ -37,12 +28,12 @@ def closest_prime_number(input: ClosestPrimeNumberInput) -> ClosestPrimeNumberOu
|
|
37 |
return False
|
38 |
return True
|
39 |
|
40 |
-
def find_closest_prime(
|
41 |
-
if is_prime(
|
42 |
-
return
|
43 |
|
44 |
-
lower =
|
45 |
-
upper =
|
46 |
|
47 |
while True:
|
48 |
if is_prime(lower):
|
@@ -52,14 +43,13 @@ def closest_prime_number(input: ClosestPrimeNumberInput) -> ClosestPrimeNumberOu
|
|
52 |
lower -= 1
|
53 |
upper += 1
|
54 |
|
55 |
-
number = input.number
|
56 |
closest_prime = find_closest_prime(number)
|
57 |
|
58 |
-
return
|
59 |
-
input_number
|
60 |
-
closest_prime
|
61 |
-
difference
|
62 |
-
|
63 |
|
64 |
|
65 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|
|
|
7 |
|
8 |
from Gradio_UI import GradioUI
|
9 |
|
10 |
+
from typing import Dict
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
@tool
|
13 |
+
def closest_prime_number(number: int) -> Dict[str, int]:
|
14 |
"""Finds the closest prime number to a given input number.
|
15 |
|
16 |
Args:
|
17 |
+
number: The input number to find the closest prime to.
|
18 |
|
19 |
Returns:
|
20 |
+
A dictionary containing the input number, closest prime, and the difference.
|
21 |
"""
|
22 |
|
23 |
def is_prime(n: int) -> bool:
|
|
|
28 |
return False
|
29 |
return True
|
30 |
|
31 |
+
def find_closest_prime(num: int) -> int:
|
32 |
+
if is_prime(num):
|
33 |
+
return num
|
34 |
|
35 |
+
lower = num - 1
|
36 |
+
upper = num + 1
|
37 |
|
38 |
while True:
|
39 |
if is_prime(lower):
|
|
|
43 |
lower -= 1
|
44 |
upper += 1
|
45 |
|
|
|
46 |
closest_prime = find_closest_prime(number)
|
47 |
|
48 |
+
return {
|
49 |
+
"input_number": number,
|
50 |
+
"closest_prime": closest_prime,
|
51 |
+
"difference": abs(number - closest_prime)
|
52 |
+
}
|
53 |
|
54 |
|
55 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|