AIPlanner is a Python based tool for transforming descriptions of events into an .ics file which can be added to any calendar application (e.g. Google Calendar, Outlook, etc.).
The tool uses a chat interface to interact with user and extract event's details. At its core, it hinges on the following tools:
- Ollama for natural language understanding. Generates responses and interacts with the user to extract info of the event to be added to the calendar.
- Flask for the web interface and API. The user interacts with the tool through a web interface.
- at least 5.9 GB of free system memory to run Ollama llama3 model. llama3 model is the most lightweight model that generates acceptable responses. More advanced models can also be used but they require more memory. Here you can find other alternative models.
Use docker compose to run the tool. The following command will build the docker image and run the tool on 127.0.0.1:5050.
docker-compose upThe ollama base image (llama3) is about 4.7 GB, thus it will take some time to download and build the docker image.
- The user interacts with the tool through a web interface. The tool asks the user for the event's details and the user responds with the details by inserting them in the chat and pressing
Send Messagebutton. width="580" height="280" style="border-radius: 18px;">
- After sending the details, the tool will process the user's input and extract the event's details. Then it will ask the user if the details are correct. The user can either confirm the details by pressing the
Add Eventbutton, or correct the details by reproviding all the details and furthur details in the chat and sending them by pressing theSend Messagebutton. Below is an example of the tool's response after processing the user's input:
- If the user confirms the details, the tool will finalize the event and add it to the calendar
.icsfile. The user can download the.icsfile by pressing theDownload .ics Filebutton. Below is an example of the.icsfile that is generated by the tool:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:ics.py - http://git.io/lLljaA
BEGIN:VEVENT
DESCRIPTION:A dentist appointment scheduled for 26th of August 2024 at 10:00 AM for 1 hour in Berlin.
DTEND:20240826T110000Z
DTSTART:20240826T100000Z
SUMMARY:Dentist appointment
UID:fde1a775-46a8-4fa0-ae20-4ea837a77d86@fde1.org
END:VEVENT
END:VCALENDAR- The
.icsfile can be added to any calendar application (e.g. Google Calendar, Outlook, etc.) by importing it. Below an event after adding the.icsfile to Outlook calendar:



