Skip to content

Instantly share code, notes, and snippets.

@marcelomf
Created June 1, 2024 15:22
Show Gist options
  • Save marcelomf/b7837235a7eff41cb71ed73b83113e4e to your computer and use it in GitHub Desktop.
Save marcelomf/b7837235a7eff41cb71ed73b83113e4e to your computer and use it in GitHub Desktop.
Crewai politica
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