File size: 1,840 Bytes
73e2d9e
ccbeb57
73e2d9e
 
 
 
 
 
ccbeb57
73e2d9e
 
ccbeb57
73e2d9e
 
 
 
 
 
 
 
3efe7a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
title: Financial Qa Agent
emoji: πŸš€
colorFrom: red
colorTo: red
sdk: docker
app_port: 8501
tags:
- streamlit
pinned: false
short_description: Streamlit template space
license: mit
---

# Welcome to Streamlit!

Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:

If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
forums](https://discuss.streamlit.io).

# πŸ“Š Financial QA Agent

An AI-powered financial report assistant built with **RAG (Retrieval-Augmented Generation)**.  
This app lets you upload financial reports, search them with semantic embeddings, and get concise answers/summaries using an open-source LLM.

## πŸš€ Features
- Cleans financial report text files automatically  
- Generates vector embeddings with FAISS for efficient retrieval  
- Summarizes answers using `google/gemma-2b` (or lightweight models for deployment)  
- Streamlit UI for easy interaction  
- Evaluation pipeline with ROUGE, BLEU, and BERTScore  

## πŸ› οΈ Tech Stack
- **Streamlit** for UI  
- **FAISS** for vector search  
- **Sentence-Transformers** for embeddings  
- **Transformers** (Gemma/LLMs) for summarization  
- **Scikit-learn, NLTK, BERTScore** for evaluation metrics  

## πŸ“‚ Project Structure
β”œβ”€β”€ app.py # Main Streamlit app (entrypoint)
β”œβ”€β”€ Embeddings.py # Embedding + FAISS pipeline
β”œβ”€β”€ Data_Cleaning.py # Data cleaning utility
β”œβ”€β”€ Logger.py # Logging utility
β”œβ”€β”€ evaluation.py # Evaluation pipeline
β”œβ”€β”€ config.json # Configurations
β”œβ”€β”€ eval_dataset.json # Sample evaluation dataset
β”œβ”€β”€ requirements.txt # Dependencies
β”œβ”€β”€ README.md # Project documentation
└── .gitignore # Ignore unnecessary files


## ⚑ Running Locally
```bash
pip install -r requirements.txt
streamlit run app.py