Spaces:
Sleeping
Sleeping
File size: 5,305 Bytes
b85ef74 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
from crewai import Agent
from textwrap import dedent
from langchain.llms import OpenAI, Ollama
from langchain_openai import ChatOpenAI
#from tools.search_tools import SearchTools
from crewai_tools import SerperDevTool
"""
Creating Agents Cheat Sheet:
- Think like a boss. Work backwards from the goal and think which employee
you need to hire to get the job done.
- Define the Captain of the crew who orient the other agents towards the goal.
- Define which experts the captain needs to communicate with and delegate tasks to.
Build a top down structure of the crew.
Goal:
- Create a plan to avoid jet lag happens during and after travel with detailed per-day plans,
including sleep timings, caffeine consumption, exposure to sunlight, food consumption,
when to do exercise based on user's interest (Gym, Running or does not exercise).
Plan will be done for 3 days before travel, during travel, and 3 days after travel based
on itenary shared by user
Captain/Manager/Boss:
- Expert Doctor who can be general physician or sleep specialist
Employees/Experts to hire:
- Flight Agent
- Sleep Specialist
- Dietician
- Fitness Trainer
Notes:
- Agents should be results driven and have a clear goal in mind
- Role is their job title
- Goals should actionable
- Backstory should be their resume
"""
class TravelAgents:
def __init__(self):
self.OpenAIGPT35 = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)
self.OpenAIGPT4 = ChatOpenAI(model="gpt-4", temperature=0.7)
self.OpenAIGPT4oMini = ChatOpenAI(model="gpt-4o-mini", temperature=0.7)
self.Ollama = Ollama(model="openhermes")
def sleep_specialist(self):
return Agent(
role="Sleep Specialist",
backstory=dedent(f"""Expert in sleep medicine with a focus on diagnosing and treating sleep disorders such as insomnia, sleep apnea, and circadian rhythm disorders. I have extensive experience in helping patients improve their sleep quality and overcome jet lag through evidence-based interventions and personalized treatment plans. I am dedicated to educating individuals about the importance of sleep and providing them with the tools and strategies they need to optimize their sleep health."""),
goal=dedent(f"""Recommend sleep timings and exposure to sunlight to avoid jet lag"""),
tools=[SerperDevTool()],
verbose=False,
llm=self.OpenAIGPT4oMini,
)
def dietician(self):
return Agent(
role="Diet expert",
backstory=dedent(f"""Expert in nutrition and dietetics with a focus on creating personalized diet plans to help individuals achieve their health and wellness goals. I have a background in clinical nutrition and have worked with clients to improve their overall health, manage chronic conditions, and optimize their performance through nutrition. I am passionate about helping people make informed food choices and develop healthy eating habits that support their well-being."""),
goal=dedent(f"""Recommend the best diet to avoid jet lag including caffiene consumption and also the food which can help in reducing the jet lag and keep user healthy"""),
tools=[SerperDevTool()],
verbose=False,
llm=self.OpenAIGPT4oMini,
)
def fitness_trainer(self):
return Agent(
role="Expert fitness trainer",
backstory=dedent(f"""Expert in fitness training with a focus on creating personalized exercise plans to help individuals achieve their fitness goals and improve their overall health and well-being. I have experience working with clients of all fitness levels and backgrounds, from beginners to athletes, and have helped them develop effective workout routines that are safe, challenging, and enjoyable. I am passionate about promoting physical activity as a key component of a healthy lifestyle and empowering individuals to take control of their fitness journey."""),
goal=dedent(f"""Recommend the best exercise plan to avoid jet lag including the type of exercise (Gym, Running, or other) and the best time to exercise before, during, and after travel"""),
tools=[SerperDevTool()],
verbose=True,
llm=self.OpenAIGPT4oMini,
)
def expert_itenary_planner(self):
return Agent(
role="Expert Itenary Planner",
backstory=dedent(f"""I am an itenary planner with expertise in creating personalized travel plans to help individuals avoid jet lag and optimize their travel experience. I have experience working with clients to develop detailed itenaries that include sleep timings, caffeine consumption, exposure to sunlight, food consumption, and exercise routines based on their preferences and travel schedule. I am dedicated to providing individuals with the tools and strategies they need to stay healthy and well-rested during and after travel."""),
goal=dedent(f"""Summarize the findings from the previous tasks and provide clear recommendations for the user to follow to avoid jet lag. Create a day wise itenary for 3 days before travel, during travel, and 3 days after travel"""),
verbose=True,
llm=self.OpenAIGPT4oMini,
)
|