zurd46 commited on
Commit
29d0076
·
verified ·
1 Parent(s): 7e647bf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -13
app.py CHANGED
@@ -56,22 +56,32 @@ def calculate_daily_averages(weather_data):
56
 
57
  return avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed
58
 
59
- # Funktion, um eine Badeempfehlung zu generieren
60
- def get_bathing_recommendation(current_weather_description, avg_temp, avg_water_temp):
61
  if avg_water_temp == "Wassertemperatur nicht verfügbar":
62
  return "Wassertemperatur nicht verfügbar. Keine Badeempfehlung möglich."
63
 
64
- water_temp_value = float(avg_water_temp.replace("°C", ""))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
- if "regen" in current_weather_description.lower() or water_temp_value < 18:
67
- return "Heute ist nicht der beste Tag zum Baden. Es regnet oder das Wasser ist zu kalt."
68
- elif "sonnig" in current_weather_description.lower() or "bewölkt" in current_weather_description.lower():
69
- if water_temp_value >= 18:
70
- return "Heute ist ein guter Tag zum Baden! Die Sonne scheint oder es ist bewölkt und das Wasser ist angenehm warm."
71
- else:
72
- return "Heute ist vielleicht nicht der beste Tag zum Baden. Das Wasser ist zu kalt."
73
- else:
74
- return "Heute ist vielleicht nicht der beste Tag zum Baden. Das Wetter ist nicht ideal."
75
 
76
  # Funktion, um Wetterdaten zu holen und Bericht zu erstellen
77
  def get_weather():
@@ -85,7 +95,7 @@ def get_weather():
85
  avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed = calculate_daily_averages(weather_data)
86
  current_weather_description = current_weather_data["weather"][0]["description"]
87
  water_temp = get_water_temperature()
88
- recommendation = get_bathing_recommendation(current_weather_description, avg_temp, water_temp)
89
 
90
  weather_report = f"""
91
  <div style="font-family: Arial, sans-serif; margin: 20px; padding: 60px; border: 1px solid #ddd; border-radius: 10px; line-height: 1.8; font-size:16px; color: #fff;">
 
56
 
57
  return avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed
58
 
59
+ # Funktion, um GPT-3.5 zu nutzen, um eine Badeempfehlung zu generieren
60
+ def get_bathing_recommendation_with_gpt(avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed, current_weather_description, avg_water_temp):
61
  if avg_water_temp == "Wassertemperatur nicht verfügbar":
62
  return "Wassertemperatur nicht verfügbar. Keine Badeempfehlung möglich."
63
 
64
+ prompt = f"""
65
+ Hier sind die aktuellen Wetterdaten:
66
+ - Durchschnittliche Temperatur: {avg_temp:.2f}°C
67
+ - Gefühlte Temperatur: {avg_feels_like_temp:.2f}°C
68
+ - Luftfeuchtigkeit: {avg_humidity:.2f}%
69
+ - Wetterbeschreibung: {current_weather_description}
70
+ - Windgeschwindigkeit: {avg_wind_speed:.2f} m/s
71
+ - Wassertemperatur: {avg_water_temp}
72
+
73
+ Basierend auf diesen Daten, ist es ein guter Tag zum Baden? Bitte gib eine Empfehlung ab.
74
+ """
75
+
76
+ response = openai.Completion.create(
77
+ engine="gpt-3.5-turbo",
78
+ prompt=prompt,
79
+ max_tokens=512,
80
+ temperature=0.5
81
+ )
82
 
83
+ recommendation = response.choices[0].text.strip()
84
+ return recommendation
 
 
 
 
 
 
 
85
 
86
  # Funktion, um Wetterdaten zu holen und Bericht zu erstellen
87
  def get_weather():
 
95
  avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed = calculate_daily_averages(weather_data)
96
  current_weather_description = current_weather_data["weather"][0]["description"]
97
  water_temp = get_water_temperature()
98
+ recommendation = get_bathing_recommendation_with_gpt(avg_temp, avg_feels_like_temp, avg_humidity, avg_wind_speed, current_weather_description, water_temp)
99
 
100
  weather_report = f"""
101
  <div style="font-family: Arial, sans-serif; margin: 20px; padding: 60px; border: 1px solid #ddd; border-radius: 10px; line-height: 1.8; font-size:16px; color: #fff;">