Backend | ||
elasticsearch | ||
frontend | ||
.gitattributes | ||
.gitignore | ||
docker-compose.yml | ||
prepare.sh | ||
README.md |
Health AI
Interaktívny chat-bot na odporúčanie liekov
Čo projekt robí?
Health AI je full-stack aplikácia, ktorá
- Odpovedá na otázky o symptómoch a odporúča lieky dostupné na Slovensku.
- Zohľadňuje osobné údaje pacienta (vek, chronické ochorenia, alergie, voľnopredajný / na predpis).
- Kombinuje znalosti veľkého jazykového modelu Mistral so súborom príbalových letákov uložených v Elasticsearch (vektorové aj full-textové vyhľadávanie).
- Automaticky vyhodnocuje kvalitu odpovede (0 – 10) a výsledky loguje pre ďalšie ladenie.
- Ukladá históriu konverzácie do PostgreSQL a zobrazuje ju na fronte.
- Podporuje Google OAuth 2.0 aj lokálnu registráciu.
🏁 Rýchly štart (Docker compose)
git clone https://github.com/<your-org>/health-ai.git
cd health-ai
# – spusti celý stack
docker compose up --build
Služba | URL |
---|---|
Frontend | http://localhost:5173 |
Backend API | http://localhost:5000 |
Elasticsearch | http://localhost:9200 |
PostgreSQL | localhost:5432 |
Pri prvom štarte sa automaticky vytvoria tabuľky
users
,chat_history
a indexdrug_docs
.
Štruktúra repozitára
.
├─ docker-compose.yml
├
├─ backend/
│ ├─ Dockerfile
│ ├─ server.py # Flask API
│ ├─ model.py # AI logika (LangChain + Mistral + Elasticsearch)
│ ├─ requirements.txt
│ └─ config.json
└─ frontend/
├─ Dockerfile
├─ src/… # React + Vite + TS
└─ package.json
Dôležité API endpointy
Metóda | URL | Stručný popis |
---|---|---|
POST /api/chat |
{query, email, chatId?} → AI odpoveď + chatId |
|
GET /api/chat_history?email=x |
zoznam konverzácií používateľa | |
GET /api/chat_history_detail?id=x |
detail jednej konverzácie | |
POST /api/save_user_data |
uloženie doplnkových údajov pacienta | |
POST /api/verify |
Google OAuth verifikácia tokenu | |
POST /api/register / /login |
lokálny účet |
Architektúra (high-level)
┌───────────── Vite/React ─────────────┐
│ používateľský chat → /api/chat │
└──────────────────────────────────────┘
│
▼
┌───────────── Flask API ──────────────┐
│ validácia tokenu · REST · routing │
│ │ │
│ ▼ ▼
│ PostgreSQL Elasticsearch
│ (users, chat) (vektor + text index)
│ ▲ │
└─────────────────┴──→ Mistral LLM ←──┘
Hlavné knižnice
- LangChain, HuggingFace Embeddings
- Mistral-small / mistral-large (Chat Completion API)
- Elasticsearch ako vektorový úložný priestor
- React 18 + TypeScript + Vite na fronte
Upozornenie: Aplikácia má iba demonštračný charakter. Neposkytuje oficiálne lekárske odporúčania – pred použitím akéhokoľvek lieku sa poraďte s lekárom.