Persoonlijke AI-copiloten blijken echte spelveranderaars te zijn. Ze hebben het potentieel om te transformeren hoe we onze dagelijkse taken en verantwoordelijkheden beheren. In tegenstelling tot basis chatbots, zijn deze intelligente assistenten geavanceerde systemen die de nuances van ons persoonlijke leven begrijpen, waardoor onze dagelijkse activiteiten veel soepeler en efficiënter verlopen.
Het bouwen van zo’n AI-copilot kan ingewikkeld zijn zonder de juiste infrastructuur. AWS Multi-Agent Orchestrator is een flexibel en krachtig framework voor het beheren van meerdere AI-agenten. De orchestrator’s classificeerder selecteert de juiste agent op basis van de gebruikersinvoer, de kenmerken van de agent en de gespreksgeschiedenis. De orchestrator faciliteert ook het opslaan van de gespreksgeschiedenis per agent.
Het bouwen van een AI Copilot voor Diverse Taken
Laten we een AI copiloot bouwen die de kalender kan controleren, fitnessroutines kan suggereren en tegelijkertijd het nieuws kan lezen. Dit zijn volledig verschillende taken die verschillende contexten kunnen hebben gedurende de interacties van de gebruiker met hen. De volledige broncode voor deze persoonlijke assistent kan hier worden gevonden hier.
Kalender Agent
Dit is een ketenagent die intern ApiAgent gebruikt om kalenderuitnodigingen op te halen met behulp van Calendly API’s. Het antwoord van de ApiAgent wordt gestreamd naar BedrockLLMAgent om de uitnodigingen samen te vatten.
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()
))
Nieuwsleesagent
De nieuwsleesagent maakt ook gebruik van de ketenagent, die intern ApiAgent gebruikt om het nieuws op te halen met behulp van Gnews API’s. Het antwoord van de ApiAgent wordt gestreamd naar BedrockLLMAgent om het nieuws samen te vatten.
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()
))
Fitness Agent
De fitnessagent is een standalone agent die het LLM-model gebruikt om fitnessroutines, dieetplannen en gezondheidstips voor te stellen.
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()
))
Het App draaien
Volg deze instructies voor de voorwaarden.
1. Clone de repository:
git clone https://github.com/ravilaudya/task-copilot.git
cd task-copilot
2. Maak een virtuele omgeving:
conda create -p venv python=3.12
conda activate ./venv
3. Installeer de benodigde afhankelijkheden:
pip install -r requirements.txt
4. Draai de app:
chainlit run app.py --port 8888
Interacteren met de Copilot
Zodra de app draait, opent zich een browservenster waar je kunt interacteren met de AI copilot. Enkele voorbeeldvragen die je kunt stellen zijn:
- “Wat is het laatste nieuws?”
- “Hoe ziet mijn agenda er deze week uit?”
- “Hoe kan ik vet verliezen?”
Conclusie
De AI copilot stroomlijnt dagelijkse taken en verhoogt de productiviteit door snelle en relevante informatie te bieden die is afgestemd op individuele voorkeuren. Met de juiste infrastructuur is het bouwen van zo’n AI copilot een beheersbaar en lonend project. Zo’n copilot hebben is als een betrouwbare partner aan je zijde hebben, die het leven een beetje gemakkelijker maakt.
Source:
https://dzone.com/articles/ai-copilot-using-multi-agent-orchestrator