Banking made simple,
with Aria by your side.
SecureBank India is a full-service retail bank — savings & current accounts, fixed and recurring deposits, home / personal / car / education loans, cards, UPI, NEFT & RTGS. Aria is our AI customer-service assistant: she answers policy questions instantly and, once you verify your identity, helps with your own accounts, loans and complaints.
Instant answers, grounded
FD & savings rates, KYC documents, NEFT/RTGS/UPI timings, fees and charges — answered straight from our knowledge base. If it isn't documented, Aria says so instead of guessing.
Secure authentication
Personal data is served only after you verify with name + user ID + password. One session binds to one customer — identity can never be switched mid-conversation.
Your accounts & loans
Balance, profile and a loan overview on request. Full loan details by exact loan ID — Aria never speculates over your financial data.
Complaints, with consent
Describe an issue and Aria proposes a complaint — it is filed only after you explicitly confirm, and you can list or look up your tickets any time.
Remembers the conversation
Hybrid memory keeps recent turns verbatim and summarises older ones, so long chats stay sharp without losing the thread. Conversations persist — resume any time.
Transparent & resilient
Every reply shows which model APIs were called, tokens used and cost. If the LLM is ever unreachable, a safe offline fallback still answers.
TRY A GENERAL QUESTION
“What interest do you pay on a savings account?”
“What documents are needed for KYC?”
“What are the RTGS timings?”
DEMO LOGIN (TEST DATA)
Name: Rahul Verma
User ID: U001
Password: Rahul@2024
THEN ASK
“What’s my balance?”
“Show my loans.”
“Details of loan LN-1001.”
Namaste! I’m Aria.
Ask me about SecureBank’s products and policies, or verify your identity to access your own accounts, loans and complaints.
📊 Performance & Reliability
Live snapshot of the evaluation suite (evaluation/) and the resilience design.
Numbers and charts are read from the latest eval run in static/ — re-run
intrinsic_eval.py / extrinsic_eval.py to refresh them.
Retrieval quality — intrinsic (53 gold questions)
Answer quality — extrinsic (LLM-as-a-Judge + lexical)
Lexical scores read low by design — the chain paraphrases beyond terse references; the judge is the truer signal.
How retrieval works — hybrid ensemble + similarity filter
BM25 (keyword) + MiniLM dense vectors fused by an EnsembleRetriever (0.4 / 0.6), then an EmbeddingsFilter drops chunks below 0.30 similarity.
Reliability — what happens when things fail
Offline fallback ("mock model")
If the answer model is unreachable (bad key, timeout, outage), a deterministic rule-based responder still replies — greeting, auth guidance, or "temporary issue, call 1800-123-4567". It never fabricates account data, and the failed turn never corrupts memory. Look for the offline_fallback badge on replies.
Two-level memory degradation
Memory = last 5 turns verbatim + a running summary. If only the summary model fails, the window still advances and the last good summary is kept — no crash, no lost answer. If the answer model fails, memory is left untouched entirely.
RAG fallback ladder
Hybrid ensemble → dense-only → full knowledge base. If retrieval can't be built or returns nothing, the whole KB is injected instead — the assistant is always grounded, never answering from thin air.
Guardrails before the model
Prompt-injection phrases, sensitive PII (card/CVV/OTP/Aadhaar) and off-topic queries are blocked by deterministic checks before any LLM call — a blocked turn costs zero tokens.
Tool-loop cap
At most 4 tool→re-think rounds per turn, with a drain step so no tool call is left dangling. Cost and latency stay bounded even if the model gets loop-happy.
Session-scoped data access
The verified customer_id is injected by the orchestrator into every data tool — the model never chooses whose data is read. One session binds to one customer, write-once, forever.
⚙️ Engine settings
Live knobs over the agent’s config.py values. Every control is bounded to a safe
range — you can’t set a value that would crash or starve the agent. Model changes rebuild
the LLM clients; retrieval changes rebuild the KB retriever on the next question.
deepseek-chat — the panel shows one model serving both roles, each call verified
separately. Note: the summary model is first invoked only once the window overflows
(turn 6 onward with the current window size).