Spaces:
Sleeping
Sleeping
| import tqdm | |
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| from gemini_api import get_travel_info, get_travel_recommendations | |
| from pdf_convert import markdown_to_pdf_weasyprint | |
| def generate_response(input_text): | |
| user_query = input_text.strip() | |
| if not user_query: | |
| print("Please enter a valid travel query!") | |
| return | |
| travel_info = get_travel_info(user_query) | |
| if travel_info and travel_info.get("to") and travel_info.get("from"): | |
| travel_recommendations = get_travel_recommendations( | |
| travel_info.get("intent"), | |
| travel_info.get("from"), | |
| travel_info.get("to"), | |
| travel_info.get("departure_date"), | |
| travel_info.get("duration"), | |
| travel_info.get("budget"), | |
| travel_info.get("num_people"), | |
| ) | |
| pdf = markdown_to_pdf_weasyprint(travel_recommendations) | |
| else: | |
| print("Could not extract travel information. Please refine your query.") | |
| return pdf | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## PDF Processing with Gemini API") | |
| message = "I want to plan a trip from Taiwan to Tokyo for 5 days with a budget of $10000 for 2 people, leaving on March 1st." | |
| input_text = gr.Textbox(label="User Request", value=message, placeholder="Enter your travel detail here") | |
| submit = gr.Button("Generate") | |
| output_pdf = gr.File(label="Download Output PDF") | |
| submit.click(fn=generate_response, inputs=input_text, outputs=output_pdf) | |
| if __name__ == "__main__": | |
| demo.launch(ssr_mode=False) | |