financial-assistant

0

Описание

Вопросно-ответная система, предоставляющая информацию о финансовых продуктах российских банков.

Языки

  • Python43,6%
  • TypeScript34,8%
  • SCSS20,1%
  • JavaScript1,5%
README.md

📱Financial Assistant

This is web-platform that consists of a knowledge base with a gathered and preprocessed banking data and a digital assistant capable of answering user queries in real-time.

Client side — SPA with MVC architecture. State management is implemented using an Observer pattern. Axios library is used to make requests to server.

Assistant is a question-answering system with a "Hybrid Retriever" architecture. Assistant's hybrid approach combines:

  • BM25 Okapi algorithm for a keyword-based search ("Sparse retriever")
  • Multilingual E5 embedding model for a semantic search ("Dense retriever") (Technical report, Article)
  • Final results are sorted by Mean Reciprocal Rank (MRR) to choose the most relevant text from the knowledge base.

Knowledge base contains static data and turned into 2 files:

  • db_texts.csv for BM25 algo: texts without stop words and punctuation, in nominative case
  • dense_vectors.npy for mE5 model: file with embeddings to speed up the semantic text search

image

🔌Preview

Preview

https://github.com/SofyaCheboltasova/financial-assistant/assets/96617834/0b4170c9-5848-498e-8f90-ae7717d41486

🔌Server

Quickstart

Install via pip

Run server

🔌Client

Quickstart