89 lines
2.4 KiB
Python
89 lines
2.4 KiB
Python
|
"""
|
||
|
Client Engagement Tool
|
||
|
|
||
|
|
||
|
"""
|
||
|
from doctest import master
|
||
|
from crewai import Crew
|
||
|
from textwrap import dedent
|
||
|
from agents import TalkingAgents
|
||
|
from tasks import TalkingTasks
|
||
|
|
||
|
from dotenv import load_dotenv
|
||
|
load_dotenv()
|
||
|
|
||
|
|
||
|
class TripCrew:
|
||
|
def __init__(self, customer, contact):
|
||
|
self.customer = customer
|
||
|
self.contact = contact
|
||
|
self.interests = 'Art, hiking, animals'
|
||
|
self.city = 'Canton, Michigan'
|
||
|
self.team_affinity = ''
|
||
|
|
||
|
def run(self):
|
||
|
# Define your custom agents and tasks in agents.py and tasks.py
|
||
|
agents = TalkingAgents()
|
||
|
tasks = TalkingTasks()
|
||
|
|
||
|
# Define your custom agents and tasks here
|
||
|
master_networker = agents.master_networker()
|
||
|
local_guide = agents.local_expert()
|
||
|
sports_analyst = agents.sports_analyst()
|
||
|
|
||
|
# Custom tasks include agent name and variables as input
|
||
|
research_topics = tasks.research_topics(
|
||
|
master_networker,
|
||
|
self.customer,
|
||
|
#self.contact
|
||
|
)
|
||
|
gather_sports_info = tasks.gather_sports_info(
|
||
|
sports_analyst,
|
||
|
# These two will be replaced programmatically, presumably from a db/excel lookup
|
||
|
self.city,
|
||
|
self.team_affinity
|
||
|
)
|
||
|
|
||
|
gather_city_info = tasks.gather_city_info(
|
||
|
local_guide,
|
||
|
self.city,
|
||
|
self.interests
|
||
|
)
|
||
|
|
||
|
# Define your custom crew here
|
||
|
crew = Crew(
|
||
|
agents=[master_networker,
|
||
|
sports_analyst,
|
||
|
local_guide
|
||
|
],
|
||
|
tasks=[
|
||
|
research_topics,
|
||
|
gather_sports_info,
|
||
|
gather_city_info
|
||
|
],
|
||
|
verbose=True,
|
||
|
)
|
||
|
|
||
|
result = crew.kickoff()
|
||
|
return result
|
||
|
|
||
|
|
||
|
# This is the main function that you will use to run your custom crew.
|
||
|
if __name__ == "__main__":
|
||
|
print("## Welcome to PreCET")
|
||
|
print('-------------------------------')
|
||
|
customer = input(
|
||
|
dedent("""
|
||
|
Which company are you going to be contacting?
|
||
|
"""))
|
||
|
contact = input(
|
||
|
dedent("""
|
||
|
Who are you going to be talking with from {}?
|
||
|
""".format(customer)))
|
||
|
|
||
|
trip_crew = TripCrew(customer, contact)
|
||
|
result = trip_crew.run()
|
||
|
print("\n\n########################")
|
||
|
print("## Here are your Topics of Conversation")
|
||
|
print("########################\n")
|
||
|
print(result)
|