Los copilotos de IA personales están emergiendo como verdaderos agentes de cambio. Tienen el potencial de transformar la forma en que gestionamos nuestras tareas y responsabilidades diarias. A diferencia de los chatbots básicos, estos asistentes inteligentes son sistemas sofisticados que comprenden las sutilezas de nuestras vidas personales, facilitando nuestras actividades diarias y haciéndolas mucho más eficientes.
Construir un copiloto de IA puede ser complejo sin la infraestructura adecuada. AWS Multi-Agent Orchestrator es un marco flexible y potente para gestionar múltiples agentes de IA. El clasificador del orchestrador selecciona el agente apropiado basado en la entrada del usuario, las características del agente y el historial de la conversación. El orchestrador también facilita el almacenamiento del historial de conversación por agente.
Construir un Copiloto de IA para Varias Tareas
Construyamos un asistente de IA copiloto que pueda revisar el calendario, sugerir rutinas de ejercicios y leer las noticias simultáneamente. Estas son tareas completamente separadas que pueden tener diferentes contextos a lo largo de las interacciones del usuario con ellas. El código fuente completo para este asistente personal se puede encontrar aquí.
Agente de Calendario
Este es un agente en cadena que internamente utiliza ApiAgent para obtener invitaciones de calendario mediante las API de Calendly. La respuesta del ApiAgent se transmite a BedrockLLMAgent para resumir las invitaciones.
agent1 = ApiAgent(ApiAgentOptions(
endpoint = f"https://api.calendly.com/user_busy_times?user={CALENDLY_USER_URI}&start_time={start_time}&end_time={end_time}",
method = "GET",
name = "Calendly Schedule Agent",
description = "Specializes in Calendar scheduling",
streaming=False,
headers_callback=custom_headers_callback,
))
agent2 = BedrockLLMAgent(BedrockLLMAgentOptions(
name="Calendar Summarization",
streaming=True,
description="You are an AI agent specialized in summarizing calendar events. Given a list of events, produce a concise summary"\
" highlighting key details such as event names, dates, times, and participants. Ensure the summary is clear, brief, and "\
"informative for quick understanding. Do not provide duplicate information or irrelevant details.",
model_id="anthropic.claude-3-5-sonnet-20240620-v1:0",
callbacks=ChainlitAgentCallbacks()
))
Agente Lector de Noticias
El agente lector de noticias también utiliza el agente en cadena, que internamente usa ApiAgent para obtener las noticias mediante las API de Gnews. La respuesta del ApiAgent se transmite a BedrockLLMAgent para resumir las noticias.
agent1 = ApiAgent(ApiAgentOptions(
endpoint = f"https://gnews.io/api/v4/search?q=example&apikey={GNEWS_API_KEY}",
method = "GET",
name = "News Reader Agent",
description = "Specializes in reading news from various sources",
streaming=False
))
agent2 = BedrockLLMAgent(BedrockLLMAgentOptions(
name="News Summarization Agent",
streaming=True,
description="You are a skilled journalist tasked with creating concise, engaging news summaries."\
"Given the following text, produce a clear and informative summary that captures the key points," \
"main actors, and significant details. Your summary should be objective, well-structured, "\
"and easily digestible for a general audience. Aim for clarity and brevity while maintaining the essence of the news story.",
model_id="anthropic.claude-3-5-sonnet-20240620-v1:0",
callbacks=ChainlitAgentCallbacks()
))
Agente de Fitness
El agente de fitness es un agente independiente que utiliza el modelo LLM para sugerir rutinas de ejercicios, planes de dieta y consejos de salud.
fitness_agent = BedrockLLMAgent(BedrockLLMAgentOptions(
name="Fitness Agent",
streaming=True,
description="Specializes in fitness, health, and wellness. It can provide workout routines, diet plans, and general health tips.",
model_id="anthropic.claude-3-5-sonnet-20240620-v1:0",
callbacks=ChainlitAgentCallbacks()
))
Ejecutando la Aplicación
Sigue estas instrucciones para los prerequisitos.
1. Clona el repositorio:
git clone https://github.com/ravilaudya/task-copilot.git
cd task-copilot
2. Crea un entorno virtual:
conda create -p venv python=3.12
conda activate ./venv
3. Instala las dependencias requeridas:
pip install -r requirements.txt
4. Ejecuta la aplicación:
chainlit run app.py --port 8888
Interactuando con el Copiloto
Una vez que la aplicación esté en ejecución, se abrirá una ventana del navegador donde podrás interactuar con el copiloto de IA. Algunas preguntas de ejemplo que puedes hacer incluyen:
- “¿Cuáles son las últimas noticias?”
- “¿Cómo está mi calendario esta semana?”
- “¿Cómo puedo perder grasa?”
Conclusión
El copiloto de IA agiliza las tareas diarias y mejora la productividad al proporcionar información rápida y relevante adaptada a las preferencias individuales. Con la infraestructura adecuada en su lugar, construir un copiloto de IA se convierte en un proyecto manejable y gratificante. Tener un copiloto así es como tener un socio confiable a tu lado, haciendo la vida un poco más fácil.
Source:
https://dzone.com/articles/ai-copilot-using-multi-agent-orchestrator