Spaces:
Runtime error
Runtime error
| import spacy | |
| import dateparser | |
| import gradio as gr | |
| from datetime import datetime, timedelta | |
| nlp = spacy.load('en_core_web_sm') | |
| def handle(text): | |
| # Use SpaCy to identify date entities | |
| doc = nlp(text) | |
| dates = [ent.text for ent in doc.ents if ent.label_ == 'DATE'] | |
| # Use dateparser to parse the date entities | |
| date_objs = [dateparser.parse(date) for date in dates] | |
| # Exclude None values | |
| date_objs = [date for date in date_objs if date is not None] | |
| if "last day" in text.lower(): | |
| date_objs = [datetime.now() - timedelta(days=1), datetime.now()] | |
| if "last few days" in text.lower(): | |
| date_objs = [datetime.now() - timedelta(days=3), datetime.now()] | |
| if "last couple of days" in text.lower(): | |
| date_objs = [datetime.now() - timedelta(days=2), datetime.now()] | |
| elif "last week" in text.lower(): | |
| date_objs = [datetime.now() - timedelta(weeks=1), datetime.now()] | |
| # Convert dates to strings in the format "YYYY-MM-DD" | |
| date_strs = [date.strftime("%Y-%m-%d") for date in date_objs] | |
| # Prepare the response | |
| response = { | |
| "dates": date_strs, | |
| # Add any other response fields as needed | |
| } | |
| return response | |
| iface = gr.Interface(fn=handle, inputs="text", outputs="json") | |
| iface.launch() | |