Segurança & Inteligência Artificial
O CrewAI permite que você crie equipes de IA onde cada agente tem funções, ferramentas e objetivos específicos, trabalhando em conjunto para realizar tarefas complexas.
Pense nisso como se estivesse montando sua equipe dos sonhos: cada membro (agente) traz habilidades e conhecimentos únicos, colaborando perfeitamente para atingir seus objetivos.
Assim como uma empresa tem departamentos (Vendas, Engenharia, Marketing) trabalhando juntos sob liderança para atingir objetivos de negócios, o CrewAI ajuda você a criar uma organização de agentes de IA com funções especializadas colaborando para realizar tarefas complexas.
Site Oficial: www.crewai.com
Utilize o colab.new para instalar os pacotes do CrewAI.
!pip install -q -U crewai crewai_tools
Realize a importação dos Agent, Task e Crew, execute e em seguida adicione mais um bloco de código: + Código
from crewai import Agent, Task, Crew
Para este exemplo vou utilizar a API da OpenAI
Acesse o site platform.openai.com/settings/organization/api-keys e gere a API_KEY.
Defina a variável OPEN_API_KEY com a Chave gerada no site da OpenAI.
import os from google.colab import userdata os.environ["OPENAI_API_KEY"] = userdata.get('OPENAI_API_KEY') os.environ["OPEN_MODEL_NAME"] = 'gpt-4o' os.environ["SERPER_API_KEY"] = userdata.get('SERPER_API_KEY')
Para obter dados da internet sugiro a utilização da API do Serper.
Acesse o site serper.dev e gere a API Key.
Defina a variável SERPER_API_KEY com a Chave gerada no site da Serper.
Execute o código para certificar que as variáveis foram configuradas corretamente.
Importe as ferramentas para fazer Web Sraping nos sites.
Para mais opções acesse: docs.crewai.com/concepts/tools
from crewai_tools import SerperDevTool, ScrapeWebsiteTool search_tool = SerperDevTool() scrape_tool = ScrapeWebsiteTool()
Criando o Agente de Busca de Conteúdo.
Para mais detalhes sobre os parâmetros dos Agents, acesse: docs.crewai.com/concepts/agents
buscador = Agent( role='Buscador de Conteúdo', goal='Localizar e consolidar informações relevantes sobre {tema} a partir de fontes online.', backstory=( 'Você é um especialista em busca e curadoria de conteúdo. ' 'Seu objetivo é pesquisar informações relevantes sobre {tema}, coletá-las de diversas fontes online e organizá-las de forma estruturada. ' 'Os dados que você reunir servirão como base para o Redator de Conteúdo, garantindo que ele tenha materiais confiáveis e atualizados para a criação do artigo.' ), tools=[search_tool, scrape_tool], verbose=True )
Criando o Agente Redator de Conteúdo.
redator = Agent( role='Redator de Conteúdo', goal='Produzir um artigo bem estruturado e profissional sobre {tema}.', backstory=( 'Você é um especialista em redação e criação de conteúdo. ' 'Seu objetivo é redigir um artigo de alta qualidade sobre {tema}, utilizando informações estruturadas e verificadas. ' 'Para isso, você se baseará nos dados coletados pelo Buscador de Conteúdo, garantindo precisão, clareza e relevância na escrita. ' 'Seu texto deve ser coeso, bem organizado e adequado ao público-alvo.' ), tools=[search_tool, scrape_tool], verbose=True )
Criando o Agente Editor de Conteúdo.
editor = Agent( role='Editor de Conteúdo', goal='Revisar e aprimorar um artigo sobre {tema}, garantindo clareza, coesão e qualidade profissional.', backstory=( 'Você é um editor experiente responsável por refinar e aprimorar textos. ' 'Seu objetivo é revisar o artigo sobre {tema}, garantindo que ele seja claro, coeso e bem estruturado. ' 'Para isso, você utilizará o texto gerado pelo Redator de Conteúdo, corrigindo erros, ajustando o tom e garantindo a fluidez da leitura. ' 'Seu trabalho é essencial para entregar um conteúdo polido e de alta qualidade, adequado ao público-alvo.' ), tools=[search_tool, scrape_tool], verbose=True )
Criando a Tarefa do Buscador.
Para mais detalhes sobre os parâmetros das Tasks, acesse: docs.crewai.com/concepts/tasks
buscar = Task( description=( "1. Pesquise e selecione as principais informações e recomendações sobre {tema}.\n" "2. Identifique o público-alvo, considerando seus interesses, desafios e necessidades.\n" "3. Inclua palavras-chave estratégicas e fontes confiáveis para embasar o conteúdo." ), agent=buscador, expected_output="Um resumo estruturado com insights relevantes sobre {tema}, incluindo palavras-chave essenciais e fontes de referência." )
Criação da Tarefa do Buscador.
redigir = Task( description=( "1. Utilize os dados coletados para redigir um artigo profissional e bem fundamentado sobre {tema}.\n" "2. Incorpore palavras-chave de maneira natural e estratégica para otimização.\n" "3. Estruture o artigo de forma clara e coerente, garantindo introdução, desenvolvimento e uma conclusão objetiva e impactante." ), agent=redator, expected_output="Um artigo bem estruturado e profissional sobre {tema}, com linguagem clara e otimizada." )
Criação da Tarefa do Buscador.
editar = Task( description=( "1. Revisar o artigo sobre {tema}, corrigindo erros de ortografia, gramática e pontuação.\n" "2. Ajustar a fluidez do texto, garantindo coesão e clareza na comunicação.\n" "3. Refinar a estrutura e o tom do artigo para torná-lo mais profissional e adequado ao público-alvo." ), agent=editor, expected_output="Um artigo revisado, coeso e pronto para publicação." )
Criação da Equipe.
equipe = Crew( agents = [buscador, redator, editor], tasks = [buscar, redigir, editar], verbose = True )
Executando a Equipe.
titulo_do_artigo = 'Phishing' entradas = {"tema" : titulo_do_artigo} resultado = equipe.kickoff(inputs=entradas)
Realizando a Formatação do Artigo.
from IPython.display import Markdown Markdown(resultado.raw)