You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.2 KiB
83 lines
3.2 KiB
9 months ago
|
from crewai import Task
|
||
|
from textwrap import dedent
|
||
|
from datetime import date
|
||
|
|
||
|
|
||
|
class TripTasks():
|
||
|
|
||
|
def identify_task(self, agent, origin, cities, interests, range):
|
||
|
return Task(description=dedent(f"""
|
||
|
Analyze and select the best city for the trip based
|
||
|
on specific criteria such as weather patterns, seasonal
|
||
|
events, and travel costs. This task involves comparing
|
||
|
multiple cities, considering factors like current weather
|
||
|
conditions, upcoming cultural or seasonal events, and
|
||
|
overall travel expenses.
|
||
|
|
||
|
Your final answer must be a detailed
|
||
|
report on the chosen city, and everything you found out
|
||
|
about it, including the actual flight costs, weather
|
||
|
forecast and attractions.
|
||
|
{self.__tip_section()}
|
||
|
|
||
|
Traveling from: {origin}
|
||
|
City Options: {cities}
|
||
|
Trip Date: {range}
|
||
|
Traveler Interests: {interests}
|
||
|
"""),
|
||
|
agent=agent)
|
||
|
|
||
|
def gather_task(self, agent, origin, interests, range):
|
||
|
return Task(description=dedent(f"""
|
||
|
As a local expert on this city you must compile an
|
||
|
in-depth guide for someone traveling there and wanting
|
||
|
to have THE BEST trip ever!
|
||
|
Gather information about key attractions, local customs,
|
||
|
special events, and daily activity recommendations.
|
||
|
Find the best spots to go to, the kind of place only a
|
||
|
local would know.
|
||
|
This guide should provide a thorough overview of what
|
||
|
the city has to offer, including hidden gems, cultural
|
||
|
hotspots, must-visit landmarks, weather forecasts, and
|
||
|
high level costs.
|
||
|
|
||
|
The final answer must be a comprehensive city guide,
|
||
|
rich in cultural insights and practical tips,
|
||
|
tailored to enhance the travel experience.
|
||
|
{self.__tip_section()}
|
||
|
|
||
|
Trip Date: {range}
|
||
|
Traveling from: {origin}
|
||
|
Traveler Interests: {interests}
|
||
|
"""),
|
||
|
agent=agent)
|
||
|
|
||
|
def plan_task(self, agent, origin, interests, range):
|
||
|
return Task(description=dedent(f"""
|
||
|
Expand this guide into a a full 7-day travel
|
||
|
itinerary with detailed per-day plans, including
|
||
|
weather forecasts, places to eat, packing suggestions,
|
||
|
and a budget breakdown.
|
||
|
|
||
|
You MUST suggest actual places to visit, actual hotels
|
||
|
to stay and actual restaurants to go to.
|
||
|
|
||
|
This itinerary should cover all aspects of the trip,
|
||
|
from arrival to departure, integrating the city guide
|
||
|
information with practical travel logistics.
|
||
|
|
||
|
Your final answer MUST be a complete expanded travel plan,
|
||
|
formatted as markdown, encompassing a daily schedule,
|
||
|
anticipated weather conditions, recommended clothing and
|
||
|
items to pack, and a detailed budget, ensuring THE BEST
|
||
|
TRIP EVER, Be specific and give it a reason why you picked
|
||
|
# up each place, what make them special! {self.__tip_section()}
|
||
|
|
||
|
Trip Date: {range}
|
||
|
Traveling from: {origin}
|
||
|
Traveler Interests: {interests}
|
||
|
"""),
|
||
|
agent=agent)
|
||
|
|
||
|
def __tip_section(self):
|
||
|
return "If you do your BEST WORK, I'll tip you $100!"
|