feat: integrate Peg AI wellness coach
MetaBloom CI / app (push) Canceled after 0s
MetaBloom CI / api (push) Canceled after 0s

This commit is contained in:
AI Company
2026-07-21 21:15:19 +00:00
parent ca70688dd5
commit 16dccd2f76
10 changed files with 1970 additions and 63 deletions
+10 -2
View File
@@ -27,14 +27,23 @@ Le port n’écoute que sur localhost ; placer un reverse proxy TLS devant en pr
## API
- `POST /auth/register`, `POST /auth/token`
- `POST /auth/register`, `POST /auth/token`, `POST /auth/guest`
- `GET/PUT /profile`
- `GET/POST /entries`, `PUT/DELETE /entries/{id}`
- `GET /account/export`, `DELETE /account`
- `POST /coach/chat` — conversation authentifiée avec Peg
- `GET /health`
Envoyer `Authorization: Bearer <token>`. La création dentrées exige `consent_health_data=true`. Les limites de saisie préviennent les erreurs grossières mais ne constituent pas une validation médicale.
`/auth/guest` crée une identité pseudonyme privée pour le premier lancement de lapplication. Aucun email réel nest demandé. Une politique de purge des comptes invités expirés doit être activée avant production.
### Peg, coach IA
Peg utilise une API compatible OpenAI (`/v1/chat/completions`). La configuration par défaut vise Ollama local et ne nécessite aucune clé. Définir `AI_BASE_URL`, `AI_MODEL` et, si nécessaire, `AI_API_KEY`. Aucun secret n'est commité. Un refus déterministe couvre diagnostic, prescription et dosage ; les urgences renvoient vers le 15/112. Si le modèle est indisponible ou produit une réponse suspecte, lAPI renvoie un conseil général sûr avec `source=fallback`.
Exemple de corps : `{"message":"Comment reprendre doucement la marche ?","history":[]}`. Lhistorique est limité à 12 messages et nest pas persisté par cet endpoint.
## Tests
```bash
@@ -48,4 +57,3 @@ pytest -q
- ajouter rate limiting, journal daudit sans donnée médicale, MFA et tests de sécurité ;
- effectuer AIPD/RGPD, définir conservation/export, contrats de sous-traitance et hébergement HDS si applicable ;
- faire qualifier juridiquement la finalité et le statut MDR avant toute fonction clinique.