Bank of Librio

Bank of Libreo β€” Intelligent Banking RAG System

An enterprise-grade Retrieval-Augmented Generation (RAG) system for bank data analysis, document intelligence, and AI-powered query answering.

FastAPI React ChromaDB Python Vite


πŸ–₯️ Live Preview

Bank of Libreo β€” Oracle Chat UI

The Oracle of Libreo β€” RAG-powered chat interface connected to ChromaDB vector store


πŸ“ System Architecture & Flow

flowchart TD
    subgraph Frontend["πŸ–₯️ Frontend (React + Vite)"]
        UI["User Interface"]
        APIClient["API Service Layer"]
        UI --> APIClient
    end

    subgraph Backend["⚑ FastAPI Server"]
        API["FastAPI App"]
        DocProc["Document Processor"]
        RAGEngine["RAG Search & Synthesis"]
    end

    subgraph Database["πŸ—„οΈ ChromaDB Vector Store"]
        Embeddings["Sentence Transformers"]
        VectorDB["Chroma Vector Database"]
    end

    APIClient -->|"1. User Query / Upload"| API
    API -->|"2. Document Ingestion"| DocProc
    DocProc -->|"3. Text Chunks & Metadata"| Embeddings
    Embeddings -->|"4. Index Vectors"| VectorDB
    API -->|"5. Search Query"| RAGEngine
    RAGEngine -->|"6. Similarity Search"| VectorDB
    VectorDB -->|"7. Top-K Context"| RAGEngine
    RAGEngine -->|"8. Synthesized Answer"| API
    API -->|"9. JSON Response"| APIClient
πŸ“Š View Full Architecture Diagram

System Flow Diagram


✨ Features

Feature Description
πŸ“„ Multi-Format Ingestion PDF, CSV, Excel .xlsx, Word .docx, TXT, Markdown, JSON, HTML
πŸ” Semantic Vector Search ChromaDB + Sentence Transformers for semantically accurate retrieval
πŸ€– AI Answer Synthesis Blended, paraphrased answers with cited sources
⚑ Auto Dataset Loading Background ingestion of banking datasets on server startup
🧩 Chunk Inspector Drill down into retrieved context chunks per answer
🎨 Premium UI Classical-themed chat interface with glassmorphism & dark palette
☁️ Render Ready One-click deployment to Render (backend + frontend)

πŸ› οΈ Technology Stack

Layer Technology
Backend API Python 3, FastAPI, Uvicorn
Vector Store ChromaDB, Sentence Transformers
Document Parsing PyPDF2, Pandas, OpenPyXL, Python-Docx
Frontend React 19, Vite 8, Tailwind CSS v4
Deployment Render (Web Service + Static Site)

πŸš€ API Reference

Method Endpoint Description
GET / Root health check
GET /healthz Platform health monitoring
GET /api/health Vector store health & document statistics
GET /api/documents List all indexed documents
POST /api/upload Upload & auto-chunk document files
POST /api/query RAG query β†’ synthesized answer + citations
POST /api/ingest-kaggle Auto-download Kaggle bank dataset
DELETE /api/documents/{filename} Remove a document from vector store

πŸ’» Local Development

Prerequisites

  • Python 3.10+
  • Node.js 18+

⚑ Quick Start (One Command)

# From repo root β€” launches both servers in separate windows
.\start_dev.ps1

Manual Setup

Terminal 1 β€” Backend

cd backend
pip install -r requirements.txt
uvicorn app:app --host 127.0.0.1 --port 8000 --reload

Backend runs at http://localhost:8000

Terminal 2 β€” Frontend

cd frontend
npm install
npm run dev

Frontend runs at http://localhost:5173

Note: Vite takes ~25s on first start while bundling dependencies. Wait for the VITE ready message.


☁️ Deployment Guide (Render)

πŸ”§ Backend Service (Web Service)
Setting Value
Environment Python 3
Root Directory backend
Build Command pip install -r requirements.txt
Start Command uvicorn app:app --host 0.0.0.0 --port $PORT
🌐 Frontend Service (Static Site)
Setting Value
Root Directory frontend
Build Command npm install && npm run build
Publish Directory dist
Environment Variable VITE_API_BASE_URL = https://your-backend-url.onrender.com

Built with ⚑ by Bank of Librio β€” Banking with Strength. Built on Trust.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ 1 Ask for provider support

Space using thilakx/Bankoflibreo 1