How devikasajith/finsentinel works
FinSentinel’s main workflow turns expert-labeled Financial Phrasebank data into instruction-formatted examples, fine-tunes Phi-2 with QLoRA, then uses the saved adapter to analyze a headline in a local Gradio demo. A separate evaluation script compares base and fine-tuned outputs and saves benchmark results. Training and evaluation wiring is documented and represented by their scripts; the dataset preparation, training, evaluation, and demo implementations were sampled.
Main entry points: app.py Sentiment Analysis · evaluate.py Base-vs-Tuned Evaluation · finetune.py QLoRA Fine-Tuning · phi2-finsentinel LoRA Adapter
Components 11
Data & Training
- Dataset Formatter
data/prepare_dataset.py - Train / Validation Data
data - QLoRA Fine-Tuning
train/finetune.py
Model Artifacts
- Phi-2 Base Model
- LoRA Adapter
results/phi2-finsentinel
Inference Demo
- Gradio Demo
app/app.py - Sentiment Analysis
app/app.py
Evaluation
- Base-vs-Tuned Evaluation
eval/evaluate.py - Evaluation Results
results/eval_results.json
Other components
- Headline User
- Financial Phrasebank
Connections 14
- Financial Phrasebank → Dataset Formatter: provides labels
- Dataset Formatter → Train / Validation Data: writes splits
- Train / Validation Data → QLoRA Fine-Tuning: loads samples
- QLoRA Fine-Tuning → Phi-2 Base Model: loads base
- QLoRA Fine-Tuning → LoRA Adapter: saves adapter
- Headline User → Gradio Demo: submits headline
- Gradio Demo → Sentiment Analysis: invokes
- Sentiment Analysis → Phi-2 Base Model: generates with
- Sentiment Analysis → LoRA Adapter: loads adapter
- Sentiment Analysis → Gradio Demo: returns analysis
- Gradio Demo → Headline User: shows results
- Base-vs-Tuned Evaluation → Phi-2 Base Model: loads base
- Base-vs-Tuned Evaluation → LoRA Adapter: loads adapter
- Base-vs-Tuned Evaluation → Evaluation Results: writes benchmark