⚡ Handle Your Notion TODO board with LLMs ⚡
Notion TODO Board Assistant is an AI-powered productivity tool, which leverages the capabilities of LangChain and LangGraph. The application helps to manage your tasks on a Notion board by actively listening to your commands and executing requested tasks. It interfaces with the Notion API to interact with real Notion database.
A great way to familiarize with the LangChain library trying to make the solution as production ready as possible with a high quality codebase. 🚀
You can perform an array of actions through commands with TO-DO Assistant:
- Add a new task.
- Update existing tasks.
- Delete tasks.
- Retrieve specific tasks.
- Generate tasks based on project description.
And much more!
- LangChain: For LLMs flows.
- LangGraph: For complex agents definition.
- notion-client: For interfacing with Notion database.
- Streamlit: For interactive web application example.
Installing and setting up the project is a breeze, all thanks to Poetry:
-
Use poetry to set up the environment and install dependencies:
poetry install
-
Set the env variables. Create the
.env
file based on.env.example
and fill it with appropriate values
You can run the assistant in commandline using the provided run.py script:
python run.py
The Streamlit application provides a more interactive experience. Run it using:
streamlit run streamlit_app.py
Here are a few examples of what you can do:
- "Create a task titled 'Buy Groceries'"
- "Mark task 'Buy Groceries' as Done"
- "Delete the task 'Buy Groceries'"
- "I want to learn python, define and add a few example tasks to the board."
- "What is the status of 'Buy Groceries'"
Streamlit applicationSaving conversation history- Error handling;
- Handle tasks properties like priority or work estimation;
- Question answering based on the whole database not only the specific retrieved task;