financial-assistant

Форк
0

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

1. cd server1/server
2. pip install -r requirements.txt

Run server

1. python manage.py runserver

🔌Client

Quickstart

1. cd client/
2. npm i
3. npm run build
4. npm run start
5. Project is running at: http://localhost:8080/

Описание

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

Языки

Python

  • TypeScript
  • SCSS
  • JavaScript

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.