Spaces:
Sleeping
Sleeping
| import numpy as np | |
| import re | |
| def haversine(lat1, lon1, lat2, lon2): | |
| R = 6371 | |
| lat1, lon1, lat2, lon2 = map(np.radians, [lat1, lon1, lat2, lon2]) | |
| dlon, dlat = lon2 - lon1, lat2 - lat1 | |
| a = np.sin(dlat/2)**2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon/2)**2 | |
| return R * 2 * np.arcsin(np.sqrt(a)) | |
| def deconstruct_query(query: str): | |
| sub_queries = re.split(r',\s*|\s+and\s+', query.lower()) | |
| filler_phrases = ['i want to go to', 'i want', 'can you find me', 'find me', 'a', 'an'] | |
| cleaned = [] | |
| for q in sub_queries: | |
| q = q.strip() | |
| for phrase in filler_phrases: | |
| if q.startswith(phrase + ' '): | |
| q = q[len(phrase):].strip() | |
| break | |
| if q: | |
| cleaned.append(q) | |
| return cleaned | |