¿Qué es CrewAI?
CrewAI es una plataforma diseñada para la orquestación de agentes de Inteligencia Artificial (IA) que asumen roles específicos, comparten objetivos y operan de manera cohesiva, similar a una tripulación bien coordinada. Utiliza un enfoque basado en roles, donde cada agente tiene un propósito definido, herramientas especializadas y la capacidad de delegar tareas entre sí para lograr objetivos comunes.
![CrewAI logo](https://best-ia.es/wp-content/uploads/image-6-300x103.png)
Características clave de CrewAI
- Diseño basado en roles: Personaliza agentes con roles específicos, objetivos y herramientas.
- Delegación autónoma: Los agentes pueden delegar tareas y colaborar entre ellos de manera autónoma.
- Procesos impulsados: Actualmente admite la ejecución de tareas de manera secuencial con procesos más complejos en desarrollo.
- Personalización y herramientas externas: Capacidad de integrar herramientas externas a través de APIs y personalización mediante la creación de herramientas propias.
Ejemplo de uso: Buscar noticias actuales sobre Inteligencia Artificial
Para buscar noticias actuales relacionadas con la inteligencia artificial en la web, podemos crear un equipo (crew) de agentes con roles específicos, como un investigador y un escritor. El investigador puede buscar y recopilar información relevante mientras que el escritor puede compilar esta información en un artículo cohesivo.
Plan para buscar noticias:
- Crear un agente investigador: Este agente utilizará una herramienta de búsqueda en la web para recopilar noticias actuales sobre inteligencia artificial.
- Crear un agente escritor: Este agente tomará la información recopilada y redactará un artículo basado en las noticias encontradas.
- Configurar las tareas: Definir tareas específicas para cada agente, detallando lo que se espera de cada uno.
- Ejecutar el proceso: Poner en marcha el equipo para que los agentes completen sus tareas de manera secuencial.
Ejemplo de implementación
Para instalar CrewAI, necesitas tener Python >=3.10 y <=3.13 instalado en tu sistema.
Es altamente recomendable crear un entorno virtual propio para trabajar con CrewAI. En este post te explicamos cómo hacerlo.
Asegúrate de tener pip
actualizado:
pip install --upgrade pip
Luego instala CrewAI y cualquier otra dependencia necesaria.
# Instala el paquete principal de crewAI
pip install crewai
# Instala el paquete principal de crewAI y el paquete de herramientas
# que incluye una serie de herramientas útiles para tus agentes
pip install 'crewai[tools]'
Regístrate en Serper para obtener la API Key de manera gratuita.
import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool # Herramienta para búsqueda en la web
# Configurar las claves de API necesarias
os.environ["SERPER_API_KEY"] = "Tu_Serper_API_Key"
os.environ["OPENAI_API_KEY"] = "Tu_OpenAI_API_Key"
os.environ["OPENAI_MODEL_NAME"]= "gpt-3.5-turbo-0125"
# Crear la herramienta de búsqueda en la web
search_tool = SerperDevTool()
# Crear un agente investigador
researcher = Agent(
role= 'Investigador Senior',
goal= 'Investigar y recopilar la información más relevante y precisa de los últimos 7 días sobre {tema}, '
'enfocándose en la fiabilidad de las fuentes y la relevancia de los datos.',
verbose=True,
memory=True,
backstory=(
'Eres un investigador experto, conocido por tu capacidad para encontrar información precisa y relevante. '
'Analizas minuciosamente cada dato, asegurándote de que solo la información más confiable'
'y reciente llegue a tus manos.'
),
tools=[search_tool],
allow_delegation=True
)
# Crear un agente escritor
writer = Agent(
role= 'Escritor',
goal= 'Redactar un artículo comprensivo y atractivo basado en la información recopilada sobre {tema}, '
'asegurando claridad y precisión en la presentación.',
verbose=True,
memory=True,
backstory=(
'Eres un escritor con un don para transformar datos complejos en narrativas claras y cautivadoras. '
'Tu habilidad para comunicar de manera efectiva te permite presentar la información de manera accesible, '
'sin perder la precisión y el rigor que la caracterizan.'
),
tools=[search_tool],
allow_delegation=False
)
# Crear una tarea para el investigador
research_task = Task(
description=(
'Investiga y recopila las noticias más relevantes y recientes de la última semana sobre {tema}. '
'Enfócate en verificar la fiabilidad de las fuentes y en resumir los puntos clave de cada noticia, '
'explicando por qué son importantes y cómo impactan en el campo de {tema}.'
),
expected_output='Un informe detallado de las noticias más relevantes y fiables sobre {tema}, '
'incluyendo un análisis de la importancia de cada noticia y su impacto en el campo.',
tools=[search_tool],
agent=researcher,
)
# Crear una tarea para el escritor
write_task = Task(
description=(
'Escribe un artículo detallado y atractivo basado en las noticias recopiladas por el investigador sobre {tema}.'
'El artículo debe ser claro, preciso y fácil de entender, destacando las tendencias y su impacto en el sector.'
'Asegúrate de mantener un tono informativo y profesional.'
),
expected_output='Un artículo en español y formato markdown que explique detalladamente las noticias actuales '
'sobre {tema}, con un análisis claro y preciso de su impacto y relevancia.',
tools=[search_tool],
agent=writer,
async_execution=False,
output_file='noticias.md' # Archivo de salida personalizado
)
# Formar el equipo con los agentes configurados
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential # Ejecución secuencial de tareas
)
# Iniciar el proceso con el tema de interés
result = crew.kickoff(inputs={'tema': 'Inteligencia Artificial'})
print(result)
¿Cómo puede serte útil?
- Automatización de la recopilación de información: Los agentes pueden buscar y recopilar información de manera autónoma, ahorrando tiempo y esfuerzo.
- Creación de contenido: Una vez recopilada la información, los agentes pueden ayudar a redactar artículos o informes basados en la información encontrada.
- Personalización y flexibilidad: Puedes definir roles y tareas específicas para adaptarse a tus necesidades y objetivos particulares.
Este enfoque proporciona una solución integral para la búsqueda y procesamiento de información, permitiéndote enfocarte en el análisis y toma de decisiones basadas en los datos recopilados por los agentes.
Consulta tus dudas con el GPT «CrewAI Assistant»
El GPT «CrewAI Assistant» puede ayudarte en diferentes áreas relacionadas con la creación y gestión de agentes autónomos en el marco de CrewAI.
- Entender y Aplicar CrewAI:
- Explicarte cómo funciona CrewAI y cómo puedes utilizarlo para crear agentes autónomos que trabajan en equipo.
- Proporcionarte ejemplos prácticos y detallados sobre cómo crear y configurar agentes, tareas y procesos en CrewAI.
- Escribir Código:
- Ayudarte a escribir código en Python para definir agentes, tareas y herramientas personalizadas en CrewAI.
- Proporcionar ejemplos de código y guías paso a paso para implementar soluciones específicas utilizando CrewAI.
- Configuración y Personalización de Agentes:
- Ayudarte a personalizar agentes con roles, metas y herramientas específicas.
- Explicarte cómo los agentes pueden delegar tareas entre ellos y colaborar para resolver problemas de manera más eficiente.
- Integración de Herramientas:
- Asistirte en la integración de herramientas externas a tus agentes utilizando CrewAI y herramientas de LangChain.
- Explicarte cómo funcionan las diferentes herramientas y cómo puedes utilizarlas en tus proyectos.
- Creación y Ejecución de Proyectos de CrewAI:
- Guiarte en la creación de proyectos estructurados con CrewAI utilizando la CLI de CrewAI.
- Explicarte cómo definir y ejecutar procesos secuenciales y otros tipos de procesos en CrewAI.
- Lectura y Entendimiento de Documentación y Código:
- Ayudarte a leer y entender la documentación y el código fuente de CrewAI para resolver dudas específicas que puedas tener.
- Soporte en Casos de Uso Específicos:
- Sugerirte agentes y tareas adecuadas para casos de uso específicos.
- Proporcionarte ideas y ejemplos inspiradores para implementar soluciones con CrewAI.
En resumen, con este GPT, dispondrás de un asistente técnico experto y un guía para todo lo relacionado con CrewAI, que te explicará cómo funciona y cómo puedes aplicarlo efectivamente en tus proyectos.