Персональные AI-copilots становятся настоящими изменителями игры. У них есть потенциал изменить способ управления нашими повседневными задачами и обязанностями. В отличие от базовых чат-ботов, эти интеллектуальные помощники являются сложными системами, которые понимают нюансы нашей личной жизни, делая наши повседневные действия намного более плавными и эффективными.
Создание такого AI-copilot может быть сложным без надлежащей инфраструктуры. AWS Multi-Agent Orchestrator является гибкой и мощной платформой для управления множеством AI-агентов. Классификатор orchestrator выбирает соответствующего агента на основе ввода пользователя, характеристик агента и истории разговора. Orchestrator также облегчает хранение истории разговоров для каждого агента.
Создание AI Copilot для различных задач
Давайте создадим ИИ copilot, который может проверять календарь, предлагать фитнес-рутин и читать новости одновременно. Эти задачи полностью разделены и могут иметь разные контексты в ходе взаимодействия пользователя с ними. Полный исходный код для этого персонального ассистента можно найти здесь.
Агент Календаря
Это цепной агент, который внутренне использует ApiAgent для получения приглашений в календарь с помощью API Calendly. Ответ от ApiAgent передается в BedrockLLMAgent для суммирования приглашений.
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()
))
Агент Чтения Новостей
Агент чтения новостей также использует цепной агент, который внутренне использует ApiAgent для получения новостей с помощью API Gnews. Ответ от ApiAgent передается в BedrockLLMAgent для суммирования новостей.
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()
))
Агент Фитнеса
Агент фитнеса является самостоятельным агентом, который использует модель LLM для предложения фитнес-рутин, планов питания и советов по здоровью.
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()
))
Запуск приложения
Следуйте этим инструкциям для выполнения предварительных условий.
1. Клонируйте репозиторий:
git clone https://github.com/ravilaudya/task-copilot.git
cd task-copilot
2. Создайте виртуальное окружение:
conda create -p venv python=3.12
conda activate ./venv
3. Установите необходимые зависимости:
pip install -r requirements.txt
4. Запустите приложение:
chainlit run app.py --port 8888
Взаимодействие с Копилотом
После запуска приложения откроется окно браузера, где вы сможете взаимодействовать с AI-копилотом. Примеры вопросов, которые вы можете задать, включают:
- “Какие последние новости?”
- “Как выглядит мой календарь на этой неделе?”
- “Как я могу похудеть?”
Заключение
AI-копилот упрощает повседневные задачи и повышает продуктивность, предоставляя быструю и релевантную информацию, адаптированную под индивидуальные предпочтения. При наличии правильной инфраструктуры создание такого AI-копилота становится управляемым и полезным проектом. Наличие такого копилота похоже на наличие надежного партнера рядом, делая жизнь немного легче.
Source:
https://dzone.com/articles/ai-copilot-using-multi-agent-orchestrator