# **Health AI** *Interaktívny chat-bot na odporúčanie liekov* --- ## Čo projekt robí? **Health AI** je full-stack aplikácia, ktorá 1. **Odpovedá na otázky o symptómoch a odporúča lieky dostupné na Slovensku.** 2. **Zohľadňuje osobné údaje pacienta** (vek, chronické ochorenia, alergie, voľnopredajný / na predpis). 3. **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). 4. **Automaticky vyhodnocuje kvalitu odpovede** (0 – 10) a výsledky loguje pre ďalšie ladenie. 5. **Ukladá históriu konverzácie** do PostgreSQL a zobrazuje ju na fronte. 6. Podporuje **Google OAuth 2.0** aj lokálnu registráciu. --- ## 🏁 Rýchly štart (Docker compose) ```bash git clone https://github.com//health-ai.git cd health-ai # – spusti celý stack docker compose up --build ``` | Služba | URL | | ------------- | ---------------------------------------------- | | Frontend | [http://localhost:5173](http://localhost:5173) | | Backend API | [http://localhost:5000](http://localhost:5000) | | Elasticsearch | [http://localhost:9200](http://localhost:9200) | | PostgreSQL | `localhost:5432` | > Pri prvom štarte sa automaticky vytvoria tabuľky `users`, `chat_history` a index `drug_docs`. --- ## Štruktúra repozitára ``` . ├─ docker-compose.yml ├─ .env ├─ 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.