The application consists of three main modules:
- agent
- tools
- app
Agent is the core of the application which is responsible for tool calling through the LLM and providing the respective output. It is a 'langgraph' based ReAct Agent which is capable of handling queries and performing/calling tools according to the user's query
Tools is the script containing the custom tools to fetch and retreive data and calculate operations to analyze performance over a given period of time As of now, there are only 3 tools:
- get the ticker symbols
- fetch and save stock data
- calculate returns over x number fo days
App is nothing but a streamlit based application serving as UI to interact with the application using the LLM ReAct agent
Please run the main application using the requirements.txt file and command as:
streamlit run app.py
More number of tools can be added to the tools.py script as needed.
Stock data for the same can be uploaded to S3 bucket if required using the function: upload_data_to_s3 under s3_uploader.py The access keys for the same has to be stored in aws_secret_keys.env file