|
|
--- |
|
|
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 |
|
|
|