This repository contains my solution to the case.
The question to answer was:
Design and implement an LLM-powered system to reconcile the provided dividend data. How could LLM agents improve this process and be a dynamic system identifying issues?
The solution is a system that is able to:
- Identify reconciliation breaks
- Analyze the reconciliation breaks
- Rank the reconciliation breaks
- Investigate and document the reconciliation breaks
- Show the results in a dashboard
You may test it out by running the streamlit app as shown in the Quickstart section.
I have also done initial effort to make a more dynamic / agentic workflow, that would be used to investigate, and resolve the reconciliation breaks. However, due to lack of domain knowledge I did not pursue this further. You may test it out by running the main.py file.
- Clone the repository
- Create a .env file and add your OpenAI API key
OPENAI_API_KEY=your_api_key- Install the dependencies
pip install -r requirements.txt- Run the streamlit app
streamlit run streamlit_app.py- Run the streamlit app
- Open the app in your browser
- Upload the data
5. Run the triage analysis
6. The system runs for about 1 minute. After completion you should visit the dashboard to see results
7. View the dashboard and explore the data gathered from the triage phase