Created
June 1, 2024 15:22
-
-
Save marcelomf/b7837235a7eff41cb71ed73b83113e4e to your computer and use it in GitHub Desktop.
Crewai politica
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
from crewai import Agent, Task, Crew, Process | |
from crewai_tools import SerperDevTool | |
from langchain.agents import Tool | |
from langchain_community.tools import DuckDuckGoSearchRun | |
from langchain_anthropic import ChatAnthropic | |
from langchain_openai import ChatOpenAI | |
os.environ["ANTHROPIC_API_KEY"] = "YOUR_KEY" | |
#os.environ["OPENAI_API_KEY"] = "YOUR_KEY" | |
LLM = ChatAnthropic(temperature=0, model_name="claude-3-opus-20240229") | |
#LLM = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.5) | |
search = DuckDuckGoSearchRun() | |
tools = [ | |
Tool( | |
name= "Search", | |
func=search.run, | |
description="useful for when you need to research for info" | |
) | |
] | |
# Define your agents with roles and goals | |
politico_direita = Agent( | |
role='Experiente politico de direita', | |
goal='Debater ideias da politica para um mundo melhor', | |
backstory="""Você é um grande politico de direita. | |
Defende ideias como estado minimo, conservadorismo e segurança pública. | |
Tem a habilidade de lidar com dados complexos e apresentar insights importantes.""", | |
verbose=True, | |
allow_delegation=False, | |
llm=LLM, | |
tools=tools | |
) | |
# Define your agents with roles and goals | |
politico_esquerda = Agent( | |
role='Experiente politico de esquerda', | |
goal='Debater ideias da politica para um mundo melhor', | |
backstory="""Você é um grande politico de esquerda. | |
Defende ideias progressistas, assistencia social e estado forte. | |
Tem a habilidade de lidar com dados complexos e apresentar insights importantes.""", | |
verbose=True, | |
allow_delegation=False, | |
llm=LLM, | |
tools=tools | |
) | |
eleitor_pobre = Agent( | |
role='Eleitor pobre', | |
goal='Decidir se devo votar em um politico de esquerda ou direta', | |
backstory="""Você é um eleitor pobre, que quer melhorar de vida.""", | |
verbose=True, | |
allow_delegation=True, | |
llm=LLM, | |
tools=tools | |
) | |
eleitor_rico = Agent( | |
role='Eleitor rico', | |
goal='Decidir se devo votar em um politico de esquerda ou direta', | |
backstory="""Você é um eleitor rico, que quer ficar mair rico.""", | |
verbose=True, | |
allow_delegation=True, | |
llm=LLM, | |
tools=tools | |
) | |
# Create tasks for your agents | |
task1 = Task( | |
description="""Faça uma análise completa das politicas de direita.""", | |
expected_output="Relatório completo com marcadores enumerados.", | |
agent=politico_direita | |
) | |
task2 = Task( | |
description="""Faça uma análise completa das politicas de esquerda.""", | |
expected_output="Relatório completo com marcadores enumerados.", | |
agent=politico_esquerda | |
) | |
task3 = Task( | |
description="""Faça uma analise completa das politicas de direita e esquerda""", | |
expected_output="Relatório completo com marcadores enumerados. Decisão por se tornar um eleitor de esquerda ou direita", | |
agent=eleitor_pobre | |
) | |
task4 = Task( | |
description="""Faça uma analise completa das politicas de direita e esquerda""", | |
expected_output="Relatório completo com marcadores enumerados. Decisão por se tornar um eleitor de esquerda ou direita", | |
agent=eleitor_rico | |
) | |
# Instantiate your crew with a sequential process | |
crew = Crew( | |
agents=[politico_direita, politico_esquerda, eleitor_pobre, eleitor_rico], | |
tasks=[task1, task2, task3, task4], | |
verbose=2, # You can set it to 1 or 2 to different logging levels | |
) | |
# Get your crew to work! | |
result = crew.kickoff() | |
print("######################") | |
print(result) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment