FinGenInsights is a financial summarization tool built with Streamlit and LAMAIndex. It provides users with a convenient way to analyze financial data by summarizing and performing comparative analysis. By leveraging LAMAIndex and OpenAI API, the tool extracts insights from PDF files containing financial information and presents them in a Red-Amber-Green (RAG) format.
FinGenInsights aims to simplify financial analysis by providing a user-friendly interface for summarizing and analyzing financial data. With its integration of LAMAIndex and OpenAI API, the tool can extract valuable insights from PDF files containing financial reports and present them in an easily understandable format.
- Upload PDF files containing financial data for analysis.
- Perform RAG-based summarization of financial information.
- Generate bullet points summarizing the financial status of a specific quarter.
- Extract important tabular data for visualization purposes.
- Access historical financial insights by uploading PDF files to S3 buckets.
To install and run FinGenInsights locally, follow these steps:
- Clone the repository:
git clone https://github.com/TarushS-1996/FinGenInsights.git
- Install dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key:
export OPENAI_API_KEY="YOUR_API_KEY"
- Airflow Installation
(a) Airflow Installation
To run the Airflow scripts included with FinGenInsights, you need to set up Apache Airflow. Follow these steps to install and configure Airflow:
(a). Install Airflow:
pip install apache-airflow
(b). Initialize the Airflow database:
airflow db init
(c). Create a user for Airflow:
airflow users create
--username admin
--firstname FIRST_NAME
--lastname LAST_NAME
--role Admin
--email [email protected]
(d). Start the Airflow web server:
airflow webserver --port 8080
(e). Open another terminal or command line instance and start the Airflow scheduler:
airflow scheduler
(f). Access the Airflow web interface by navigating to http://localhost:8080
in your web browser.
- To manage environment variables securely, you should set up a
.env
file in the root directory of the project. Here's how to create and configure it:
(a). Create a new file named .env
in the root directory.
(b). Open the .env
file in a text editor and add your environment variables:
OPENAI_API_KEY=your_openai_api_key_here
AWS_ACCESS_KEY_ID=your_aws_access_key_id_here
AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key_here
AWS_REGION=your_aws_region_here
(c). Save the file. These environment variables will be loaded automatically when the application or scripts are run.
- Run the application:
streamlit run mainPage.py
- Access the application through your web browser at
http://localhost:8501
.
- Upload PDF files containing financial data through the web interface.
- Wait for the analysis to complete.
- View the summarized insights and comparative analysis generated by the tool.
- Explore visualizations and download generated reports for further analysis.
Contributions to FinGenInsights are welcome! If you'd like to contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Make your changes and commit them (
git commit -am 'Add new feature'
). - Push your changes to your forked repository (
git push origin feature-name
). - Create a new pull request.
In future releases, we plan to implement features that allow users to upload PDF files to S3 buckets directly from the application. This will enable users to access historical financial insights and generate a better understanding of their financial progress over time.
This project is licensed under the MIT License.