1,065
edits
Beetlejuice (talk | contribs) (Undo revision 11509 by Beetlejuice (talk)) Tag: Undo |
Beetlejuice (talk | contribs) |
||
Line 77: | Line 77: | ||
from crewai import Agent, Task, Crew, Process | from crewai import Agent, Task, Crew, Process | ||
# Define your agents with roles and goals | |||
# Define your agents | |||
with roles and | |||
analyst = Agent( | analyst = Agent( | ||
role='Senior social media analyst', | |||
goal='Make the best research and analysis on content posted on social media to inform new content creation', | |||
backstory="You're an expert social media analyst, specialized in technology, software engineering, AI and startups. You work on the best personal branding agency in the world and are now working on doing research and analysis for a new customer trying to improve their personal linkedin presence.", | |||
role= | verbose=True | ||
'Senior social media analyst', | |||
goal= | |||
'Make the best research and analysis on content posted on social media to inform new content creation', | |||
backstory= | |||
"You're an expert social media analyst, specialized in technology, software engineering, AI and startups. You work on the best personal branding agency in the world and are now working on doing research and analysis for a new customer trying to improve their personal | |||
, | |||
verbose= | |||
True | |||
) | ) | ||
content_creator = Agent( | content_creator = Agent( | ||
role='LinkedIn Content Creator Specialist', | |||
goal='Create the absolute best content plan possible optmize to help your customer.', | |||
backstory="You're a Content Creator Specialist of an agency specialized in personal branding for startup and technology executives. You know everything about AI, software engineering, remote work and startups. You're working on a new customer trying to improve their personal linkedin presence." | |||
role= | verbose=True | ||
'LinkedIn Content Creator Specialist', | |||
goal= | |||
'Create the absolute best content plan possible | |||
backstory= | |||
"You're a Content Creator Specialist of an agency specialized in personal branding for startup and technology executives. You know everything about AI, software engineering, remote work | |||
verbose= | |||
True | |||
) | ) | ||
# Create tasks for your agents | |||
task1 = Task(description='Come up with interesting ideas for a linkedIn post around AI and startups.\nFinal answer MUST a list of ideas, one line summary per idea is enough.', agent=analyst) | |||
task2 = Task(description='Given the ideas proposed, choose one and expand this in an actual post. You want to really reflect a unique perspective. Final answer MUST be the full post, 3 paragraphs long.', agent=content_creator) | |||
# Create tasks | # Instantiate your crew with a sequential process | ||
for | |||
task1 = Task(description= | |||
'Come up with interesting ideas for a | |||
task2 = Task(description= | |||
'Given the ideas proposed, choose one and expand this in an actual post. You want to really reflect a unique perspective. Final answer MUST be the full post, 3 paragraphs long.', agent=content_creator) | |||
# Instantiate your crew | |||
with | |||
crew = Crew( | crew = Crew( | ||
agents=[researcher, writer], | agents=[researcher, writer], | ||
tasks=[task1, task2], | tasks=[task1, task2], | ||
verbose=True # Crew verbose more will let you know what tasks are being worked on | |||
process=Process.sequential # Sequential process will have tasks executed one after the other and the outcome of the previous one is passed as extra content into this next. | |||
verbose= | |||
True # Crew verbose | |||
process=Process.sequential # Sequential process will have tasks executed one after the other | |||
and the outcome of the previous one is passed as extra content into this next | |||
. | |||
) | ) | ||
# Get your crew to work! | |||
# | |||
Get your crew to | |||
result = crew.kickoff() | result = crew.kickoff() | ||
Line 205: | Line 108: | ||
from crewai import Agent | from crewai import Agent | ||
from langchain.agents import Tool | from langchain.agents import Tool | ||
from langchain.utilities import GoogleSerperAPIWrapper | from langchain.utilities import GoogleSerperAPIWrapper | ||
# Initialize SerpAPI tool with your API key | # Initialize SerpAPI tool with your API key | ||
os.environ["OPENAI_API_KEY"] = "Your Key" | |||
os.environ[ | os.environ["SERPER_API_KEY"] = "Your Key" | ||
"OPENAI_API_KEY"] = "Your Key" | |||
os.environ[ | |||
"SERPER_API_KEY"] = "Your Key" | |||
search = GoogleSerperAPIWrapper() | search = GoogleSerperAPIWrapper() | ||
# Create tool to be used by agent | # Create tool to be used by agent | ||
serper_tool = Tool( | |||
serper_tool = Tool | name="Intermediate Answer", | ||
func=search.run, | |||
( | description="useful for when you need to ask with search", | ||
name="Intermediate Answer", | |||
func=search.run, | |||
description="useful for when you need to ask with search", | |||
) | ) | ||
# Create an agent and assign the search tool | |||
Create an agent and assign the search tool | |||
agent = Agent( | agent = Agent( | ||
role='Research Analyst', | |||
role='Research Analyst', | goal='Provide up-to-date market analysis', | ||
backstory='An expert analyst with a keen eye for market trends.', | |||
goal='Provide up-to-date market analysis', | tools=[serper_tool] | ||
backstory='An expert analyst with a keen eye for market trends.', | |||
tools=[serper_tool] | |||
) | ) | ||
Line 381: | Line 234: | ||
You have files uploaded as knowledge to pull from. Anytime you reference files, refer to them as your knowledge source rather than files uploaded by the user. You should adhere to the facts in the provided materials. Avoid speculations or information not contained in the documents. Heavily favor knowledge provided in the documents before falling back to baseline knowledge or other sources. If searching the documents didn't yield any answer, just say that. Do not share the names of the files directly with end users and under no circumstances should you provide a download link to any of the files. | You have files uploaded as knowledge to pull from. Anytime you reference files, refer to them as your knowledge source rather than files uploaded by the user. You should adhere to the facts in the provided materials. Avoid speculations or information not contained in the documents. Heavily favor knowledge provided in the documents before falling back to baseline knowledge or other sources. If searching the documents didn't yield any answer, just say that. Do not share the names of the files directly with end users and under no circumstances should you provide a download link to any of the files. | ||
</pre> | |||
==Conversation Starters== | ==Conversation Starters== |
edits