Предиктивная AI-система антифрода с модулем объяснимости Overclock Hub Hackathon 2026
FraudSeeker - это B2B-микросервис для банков и криптобирж. Система выявляет мошеннические транзакции в реальном времени, оптимизируя ключевой конфликт финтеха: баланс между финансовыми потерями и блокировкой честных пользователей.
Главная ценность продукта это модуль XAI. Алгоритм генерирует текстовое обоснование риска (например: Риск 95%: аномальная сумма + смена геолокации + VPN), сокращая время расследования инцидентов риск-аналитиками.
- Язык: Python 3.9
- Веб-фреймворк: FastAPI
- База данных: PostgreSQL, SQLAlchemy 2.0
- ML: Scikit-learn (Random Forest), Pandas, SMOTE
- Инфраструктура: Uvicorn, ngrok (для связки с Frontendом)
Интерактивная документация (Swagger) доступна локально по адресу /docs. Все запросы поддерживают CORS.
| Метод | Эндпоинт | Назначение |
|---|---|---|
POST |
/api/v1/transactions/check |
ML-скоринг новой транзакции. Возвращает вердикт, risk Score (0-100%) и XAI объяснение. |
GET |
/api/v1/transactions/stats |
Сводная финансовая аналитика (сохраненный бюджет в ₸) |
GET |
/api/v1/transactions/ |
Лента исторических транзакций с поддержкой пагинации |
GET |
/api/v1/analytics/tradeoff |
Данные для графика баланса Loss vs Friction |
GET |
/api/v1/analytics/kpis |
Базовые метрики для дашборда (обработано, заблокировано, безопасно) |
1. Клонирование и настройка окружения
git clone <https://github.com/CodingGeek984/Overclock_hack/tree/backend-dev>
cd FraudSeeker
# Создание и активация виртуального окружения
python3.9 -m venv .venv
source .venv/bin/activate
# Установка зависимостей
pip install -r requirements.txt
2. Настройка базы данных
Убедитесь, что локальный сервер PostgreSQL запущен. Создайте пустую базу данных fraudseeker_db.
В файле database.py проверьте строку подключения:
DATABASE_URL = "postgresql://postgres:12345@localhost:5432/fraudseeker_db"3. Генерация данных Для полноценной работы аналитических дашбордов требуется массив исторических данных. В корне проекта находится скрипт, который сгенерирует 100 000 реалистичных транзакций с 5% распределением фрода, и загрузит их в СУБД:
python generate_data.py
4. Запуск бэкенда
uvicorn main:app --reload --port 8080
Сервер будет доступен по адресу http://127.0.0.1:8080.
5. Проброс туннеля для Frontend-команды Чтобы клиентская часть могла отправлять запросы в обход локальных ограничений, откройте новую вкладку терминала и запустите туннель:
ngrok http 8080
Скопируйте полученный HTTP-адрес (https://unnegotiated-apocalyptically-paulette.ngrok-free.dev) и передайте его фронтенд-разработчику для установки в качестве BASE_URL API-клиента.