Copilotos de IA pessoais estão surgindo como verdadeiros agentes de mudança. Eles têm o potencial de transformar a forma como gerenciamos nossas tarefas e responsabilidades diárias. Ao contrário de chatbots básicos, esses assistentes inteligentes são sistemas sofisticados que entendem as nuances de nossas vidas pessoais, tornando nossas atividades diárias muito mais suaves e eficientes.
Construir um copiloto de IA desse tipo pode ser complexo sem a infraestrutura adequada. O AWS Multi-Agent Orchestrator é um framework flexível e poderoso para gerenciar múltiplos agentes de IA. O orquestrador classificador seleciona o agente apropriado com base na entrada do usuário, nas características do agente e no histórico de conversas. O orquestrador também facilita o armazenamento do histórico de conversas por agente.
Construindo um Copiloto de IA para Diversas Tarefas
Vamos construir um copiloto de IA que pode verificar o calendário, sugerir rotinas de fitness e ler as notícias simultaneamente. Estas são tarefas completamente separadas que podem ter contextos diferentes ao longo das interações do usuário com elas. O código-fonte completo para este assistente pessoal pode ser encontrado aqui.
Agente de Calendário
Este é um agente em cadeia que internamente utiliza o ApiAgent para buscar convites de calendário usando APIs do Calendly. A resposta do ApiAgent é transmitida para BedrockLLMAgent para resumir os convites.
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 Leitor de Notícias
O agente leitor de notícias também utiliza o agente em cadeia, que internamente usa o ApiAgent para buscar as notícias usando APIs do Gnews. A resposta do ApiAgent é transmitida para BedrockLLMAgent para resumir as notícias.
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
O agente de fitness é um agente independente que usa o modelo LLM para sugerir rotinas de fitness, planos de dieta e dicas de saúde.
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()
))
Executando o Aplicativo
Siga essas instruções para os pré-requisitos.
1. Clonar o repositório:
git clone https://github.com/ravilaudya/task-copilot.git
cd task-copilot
2. Criar um ambiente virtual:
conda create -p venv python=3.12
conda activate ./venv
3. Instalar as dependências necessárias:
pip install -r requirements.txt
4. Rodar o aplicativo:
chainlit run app.py --port 8888
Interagindo com o Copiloto
Depois que o aplicativo estiver rodando, uma janela do navegador será aberta onde você pode interagir com o copiloto de IA. Algumas perguntas de exemplo que você pode fazer incluem:
- “Qual é a última notícia?”
- “Como está meu calendário esta semana?”
- “Como posso perder gordura?”
Conclusão
O copiloto de IA simplifica tarefas diárias e aumenta a produtividade fornecendo informações rápidas e relevantes adaptadas às preferências individuais. Com a infraestrutura correta no lugar, construir um copiloto de IA como esse se torna um projeto gerenciável e gratificante. Ter um copiloto assim é como ter um parceiro confiável ao seu lado, tornando a vida um pouco mais fácil.
Source:
https://dzone.com/articles/ai-copilot-using-multi-agent-orchestrator