mettaleb15 commited on
Commit
f2a3146
·
verified ·
1 Parent(s): 8c5c24b

Update app.py

Browse files

Add tool to converts a postal address into latitude

Files changed (1) hide show
  1. app.py +27 -7
app.py CHANGED
@@ -9,14 +9,34 @@ 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:
 
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
11
  @tool
12
+ def get_latitude_from_address(address: str) -> str:
13
+ """Un outil qui récupère la latitude correspondant à une adresse postale donnée.
14
+ Arguments:
15
+ address: L'adresse complète à géocoder (ex: '10 Downing Street, London' ou 'Tour Eiffel, Paris').
 
 
16
  """
17
+ try:
18
+ # Appel à l'API Nominatim d'OpenStreetMap
19
+ url = "https://nominatim.openstreetmap.org/search"
20
+ params = {"q": address, "format": "json", "limit": 1}
21
+ headers = {"User-Agent": "smolagents-geocoder/1.0"}
22
+
23
+ response = requests.get(url, params=params, headers=headers)
24
+
25
+ if response.status_code != 200:
26
+ return f"Erreur : impossible d'accéder à l'API (code {response.status_code})"
27
+
28
+ data = response.json()
29
+ if not data:
30
+ return f"Aucune latitude trouvée pour l'adresse : '{address}'"
31
+
32
+ latitude = data[0]["lat"]
33
+ longitude = data[0]["lon"]
34
+
35
+ return f"Latitude : {latitude}, Longitude : {longitude}"
36
+
37
+ except Exception as e:
38
+ return f"Erreur lors du traitement de l'adresse '{address}' : {str(e)}"
39
+
40
 
41
  @tool
42
  def get_current_time_in_timezone(timezone: str) -> str: