feat: integrate Peg AI wellness coach
This commit is contained in:
+10
-2
@@ -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 d’entré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 l’application. Aucun email réel n’est 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, l’API renvoie un conseil général sûr avec `source=fallback`.
|
||||
|
||||
Exemple de corps : `{"message":"Comment reprendre doucement la marche ?","history":[]}`. L’historique est limité à 12 messages et n’est pas persisté par cet endpoint.
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
@@ -48,4 +57,3 @@ pytest -q
|
||||
- ajouter rate limiting, journal d’audit 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user