Skip to content

Falconwu17/Smart-savings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 Smart Savings AI — Backend (FastAPI + Go API)

🧠 Описание проекта

Smart Savings AI — это интеллектуальный сервис анализа финансовых данных,
который помогает пользователю:

  • загрузить банковскую выписку в PDF,
  • указать свою цель (например, "Купить MacBook"),
  • получить автоматический анализ расходов, категорий, привычек и прогноз по накоплениям.

Бэкенд разделён на два уровня:

  1. Go API — CRUD для пользователей, транзакций и целей.
  2. AI FastAPI — интеллектуальные функции анализа и советов (работа с LLM / Ollama).

🚀 Основные возможности

✅ Анализ PDF-выписок
✅ Распознавание транзакций, категорий и привычек
✅ Подсчёт доходов, расходов и коэффициента сбережений
✅ Автоматический финансовый план (прогноз по неделям)
✅ Генерация персональных советов (AI Brain)


📦 Структура бэкенда

Smart-savings/ │ ├── content-api/ # Go API (users, goals, transactions) │ ├── internal/ │ │ ├── db/ │ │ ├── handlers/ │ │ ├── models/ │ │ ├── repo/ │ │ └── routes.go │ └── cmd/api/main.go │ ├── nlp-api/ # Python AI-сервис │ ├── app.py # Главный файл FastAPI │ ├── ai_brain.py # Генерация советов и планов │ ├── financial_analyzer.py # Анализ транзакций │ ├── financial_habits.py # Анализ привычек │ ├── financial_anomalies.py # Поиск аномалий │ ├── model.py # Прогноз накоплений │ ├── prompt_builder.py # Создание промптов для LLM │ ├── llm_engine.py # Обёртка над Ollama │ └── requirements.txt │ └── docker-compose.yaml


🧩 API Эндпоинты

⚙️ Health check

GET /health
Проверка состояния сервера.

{
  "status": "ok",
  "engine": "Ollama"
} 

⚙️ Основной AI анализ

POST /ai/analyze

Анализирует JSON-данные пользователя (доход, траты, цель).

{
  "income": 400000,
  "goal": {"title": "Купить MacBook", "target": 600000, "current": 100000},
  "transactions": [
    {"amount": -12000, "category": "еда"},
    {"amount": -18000, "category": "транспорт"},
    {"amount": -25000, "category": "подписки"},
    {"amount": 400000, "category": "зарплата"}
  ]
}


📤 Возвращает:

{
  "analysis": {...},
  "goal": {...},
  "advice": "Краткий совет",
  "prompt_used": "..."
}

⚙️ AI анализ

POST /ai/analyze-pdf

Загружает PDF выписку и анализирует её. Тип тела: form-data

key type value file File statement.pdf

📤 Возвращает:

{
"file_name": "statement.pdf",
"numbers_found": 243,
"total_sum": 106131347.25,
"average": 424525.39,
"advice": "Советы по экономии..."
}

🧩 (главный сценарий)

POST /ai/brain-pdf

Комбинирует PDF-анализ + цель пользователя. Тип тела: form-data

key type value goal Text Купить MacBook file File gold_statement.pdf

📤 Возвращает:

{
"goal": "Купить MacBook",
"numbers_found": 250,
"total_sum": 106131347.25,
"average": 424525.39,
"ai_result": {
"mode": "investment_ready",
"analysis": {...},
"prediction": {...},
"habits": {...},
"ai_advice": "Ваш совет..."
}
} 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors