- First Prize Winner at Frosthack 2025
- This project is an AI-powered financial analysis system that processes and analyzes transaction data to provide insights and answer user queries. It integrates LangChain, Fetch.ai, and Pathway for efficient data processing and retrieval.
- Parses and extracts financial transactions from documents.
- Stores structured financial data for quick retrieval.
- Provides financial insights based on user queries.
- Implements advanced retrieval-augmented generation (RAG) techniques.
- Uses Fetch.ai and Pathway for efficient data processing.
- Supports visualization of financial data trends.
├── agent_fetchai.py #fetchAI Agents
├── agents
│ ├── DocToGDrive.py
│ ├── DocumentParsingAgent2.py
│ ├── DocumentParsingAgent.py
│ ├── GetReleventTransactionByDate.py
│ ├── GetReleventTransaction.py
│ ├── GetUserQueryOutput.py
│ ├── IsContextNeeded.py
│ └── __pycache__
├── app.py
├── Cache
│ ├── 1-0-0
│ └── 1-0-1
├── credentials.json
├── data
│ └── finance_docs_extracted.csv
├── INFO
│ ├── data
│ ├── filtered_transactions.json
│ ├── output.json
│ ├── processed_output.json
│ ├── staticPlots
├── LanggraphApp.py
├── output_chunks
├── pathwayF
│ ├── baseModel.py
│ ├── langchainPathwayClient.py
│ ├── pathwayServer.py
│ ├── pdfToCSVByLLM.py
│ └── __pycache__
├── README.md
├── requirements.txt
└── staticVisualizationAgent.py
Before running the application, configure the following environment variables:
export PATHWAY_KEY=""
export LANGSMITH_TRACING=true
export LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
export LANGSMITH_API_KEY=""
export LANGSMITH_PROJECT=""
export GEMINI_API_KEY="--"
export GROQ_API_KEY=""
export TAVILY_API_KEY=""
export DEEPSEEK_API_KEY=""
export HUGGINGFACEHUB_API_TOKEN=""
export GDRIVEFOLDERID=""
Create a credentials.json
file in the root directory and populate it with your Google Cloud credentials:
{
"type": "service_account",
"project_id": "rag-app-frosthack",
"private_key_id": "<PRIVATE_KEY_ID>",
"private_key": "-----BEGIN PRIVATE KEY-----\n<PRIVATE_KEY>\n-----END PRIVATE KEY-----\n",
"client_email": "<CLIENT_EMAIL>",
"client_id": "<CLIENT_ID>",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/<SERVICE_ACCOUNT>.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}
Note: Replace <PRIVATE_KEY>
, <CLIENT_EMAIL>
, <CLIENT_ID>
, and <SERVICE_ACCOUNT>
with your actual credentials.
Run the following command to install required dependencies:
pip install -r requirements.txt
Follow these steps to start the application:
-
Start the Fetch.AI Agents
python -m agents.ActivateVectorStore python -m agents.DocParserAgent python -m agents.getReleventTransaction python -m agents.GetUserQueryOutput python -m agents.GraphingAgent python -m agents.IsContextNeeded
-
Run the Streamlit App
streamlit run app.py
- FetchAi with LangChain
- Pathway with LangChain
- Pathway Adaptive RAG with LangGraph
- Pathway as a Vector Store in LangChain
- Pathway Unstructured to Structured SQL Queries
- Pathway INTERIIT Project
- Google Drive with Additional Files
Feel free to open issues and submit pull requests for improvements.