financial-assistant
Описание
Вопросно-ответная система, предоставляющая информацию о финансовых продуктах российских банков.
Языки
- 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
🔌Preview
🔌Server
Quickstart
Install via pip
Run server