|
import gradio as gr |
|
from crewai import Crew |
|
from task import trip_itinerary_task |
|
|
|
def run_trip_planner(destination, arrival_date, departure_date): |
|
crew = Crew(tasks=[trip_itinerary_task]) |
|
result = crew.kickoff(inputs={ |
|
"destination": destination, |
|
"arrival_date": arrival_date, |
|
"departure_date": departure_date |
|
}) |
|
|
|
if hasattr(result, "result"): |
|
return result.result |
|
elif hasattr(result, "output"): |
|
return result.output |
|
else: |
|
return str(result) |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("# CrewAI Trip Planner\nModel: sambanova/Meta-Llama-3.2-1B-Instruct"), |
|
gr.Markdown("## Please checkout below video to know about this application"), |
|
gr.HTML( |
|
"""<iframe width="560" height="315" |
|
src="https://www.youtube.com/embed/0EE3sD1MHeg" |
|
frameborder="0" allowfullscreen></iframe>""", |
|
label="Featured Video" |
|
), |
|
gr.Markdown("## Enter your trip details below:"), |
|
with gr.Row(): |
|
destination = gr.Textbox(label="Destination", placeholder="e.g. Vizag") |
|
arrival = gr.Textbox(label="Arrival Date", placeholder="YYYY-MM-DD") |
|
departure = gr.Textbox(label="Departure Date", placeholder="YYYY-MM-DD") |
|
output = gr.Markdown(label="Itinerary") |
|
btn = gr.Button("Generate Itinerary") |
|
btn.click(run_trip_planner, inputs=[destination, arrival, departure], outputs=output) |
|
|
|
def main(): |
|
demo.launch() |
|
|
|
if __name__ == "__main__": |
|
main() |