firmanaziz commited on
Commit
d058037
·
1 Parent(s): 9108d37

fix: output

Browse files
Files changed (1) hide show
  1. app.py +9 -8
app.py CHANGED
@@ -70,29 +70,27 @@ def sort_by_nearest_location(df, user_lat, user_lon):
70
  lambda row: geodesic((user_lat, user_lon), (row['latitude'], row['longitude'])).km,
71
  axis=1
72
  )
 
73
  return df.sort_values(by='distance_km')
74
 
75
  # --- Fungsi Utama Gradio ---
76
  def wisata_rekomendasi(deskripsi, lokasi):
77
  if df.empty:
78
- return "Data wisata tidak tersedia. Pastikan cleaned_data.csv ada."
79
 
80
  keywords = extract_keywords(deskripsi)
81
  if "Error:" in str(keywords):
82
- return str(keywords[0])
83
 
84
  user_description_joined = " ".join(keywords)
85
  lat, lon = get_coordinates_from_location(lokasi)
86
  if lat is None or lon is None:
87
- return "Lokasi tidak ditemukan."
88
 
89
- reverse_location = get_location_name_from_coordinates(lat, lon)
90
  top_place = prepare_and_recommend(df.copy(), user_description_joined)
91
  sorted_place = sort_by_nearest_location(top_place, lat, lon)
92
 
93
- hasil = f"Lokasi terdekat dari {reverse_location}:\n\n"
94
- hasil += sorted_place[['nama', 'distance_km', 'description']].to_string(index=False)
95
- return hasil
96
 
97
  # --- UI Gradio ---
98
  demo = gr.Interface(
@@ -101,7 +99,10 @@ demo = gr.Interface(
101
  gr.Textbox(label="Deskripsi Wisata yang Anda Inginkan"),
102
  gr.Textbox(label="Lokasi Anda (Contoh: Gunung Kidul, Yogyakarta)")
103
  ],
104
- outputs="text",
 
 
 
105
  title="Sistem Rekomendasi Wisata",
106
  description="Masukkan deskripsi dan lokasi, lalu dapatkan rekomendasi tempat wisata terdekat"
107
  )
 
70
  lambda row: geodesic((user_lat, user_lon), (row['latitude'], row['longitude'])).km,
71
  axis=1
72
  )
73
+ df['distance_km'] = df['distance_km'].round(2)
74
  return df.sort_values(by='distance_km')
75
 
76
  # --- Fungsi Utama Gradio ---
77
  def wisata_rekomendasi(deskripsi, lokasi):
78
  if df.empty:
79
+ return "Data tidak tersedia.", pd.DataFrame([["Data tidak tersedia", "", ""]], columns=["nama", "distance_km", "description"])
80
 
81
  keywords = extract_keywords(deskripsi)
82
  if "Error:" in str(keywords):
83
+ return f"Kata kunci gagal diambil: {keywords[0]}", pd.DataFrame([[keywords[0], "", ""]], columns=["nama", "distance_km", "description"])
84
 
85
  user_description_joined = " ".join(keywords)
86
  lat, lon = get_coordinates_from_location(lokasi)
87
  if lat is None or lon is None:
88
+ return "Lokasi tidak ditemukan.", pd.DataFrame([["Lokasi tidak ditemukan", "", ""]], columns=["nama", "distance_km", "description"])
89
 
 
90
  top_place = prepare_and_recommend(df.copy(), user_description_joined)
91
  sorted_place = sort_by_nearest_location(top_place, lat, lon)
92
 
93
+ return f"Kata kunci: {', '.join(keywords)}", sorted_place[['nama', 'distance_km', 'description']]
 
 
94
 
95
  # --- UI Gradio ---
96
  demo = gr.Interface(
 
99
  gr.Textbox(label="Deskripsi Wisata yang Anda Inginkan"),
100
  gr.Textbox(label="Lokasi Anda (Contoh: Gunung Kidul, Yogyakarta)")
101
  ],
102
+ outputs=[
103
+ gr.Textbox(label="Kata Kunci yang Diekstrak"),
104
+ gr.Dataframe(headers=["nama", "distance_km", "description"], label="Rekomendasi Tempat Wisata")
105
+ ],
106
  title="Sistem Rekomendasi Wisata",
107
  description="Masukkan deskripsi dan lokasi, lalu dapatkan rekomendasi tempat wisata terdekat"
108
  )