0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Prompt

Le document décrit un service en ligne destiné à assister les psychologues dans la rédaction de rapports d'expertise pour le tribunal, en suivant un workflow structuré. Ce service inclut la création de dossiers, la génération de rapports, l'analyse contradictoire et le respect des régulations, tout en utilisant des technologies spécifiques comme LangChain et Qdrant. Il met également l'accent sur la sécurité des données, le chiffrement et l'authentification des utilisateurs.

Transféré par

eloise.alberca
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Prompt

Le document décrit un service en ligne destiné à assister les psychologues dans la rédaction de rapports d'expertise pour le tribunal, en suivant un workflow structuré. Ce service inclut la création de dossiers, la génération de rapports, l'analyse contradictoire et le respect des régulations, tout en utilisant des technologies spécifiques comme LangChain et Qdrant. Il met également l'accent sur la sécurité des données, le chiffrement et l'authentification des utilisateurs.

Transféré par

eloise.alberca
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

prompt.

md 2026-03-25

PROMPT Spec
Objectif général
Je veux créer un service en ligne permettant d'assister un expert psychologue dans la préparation et la
rédaction d'un rapport d'expertise. L'expert est mandaté par le tribunal pour auditer une personne susceptible
d'avoir commis violences sur d'autres personnes (conjoint, enfant, animaux, autre ...) ou dégradations
matérielles. L'expert dispose en entrée d'une réquisition principale du tribunal sous forme de PDF et de
documents annexes PDF concernant le cas d'expertise. La réquisition a pour objectif de fournir au tribunal des
réponses sur la personne auditée et répondre à un certain nombre de questions. Le tribunal fournit un
document précisant le format du rapport attendu.

Workflow
Le workflow d'assistance est le suivant :

0. Création du dossier L'expert crée un dossier et choisit un mode de workflow :

assistance à la génération de rapport


analyse contradictoire d'un dossier avec rapport existant Toutes les opérations qui suivent sont liées à
un dossier donné.

Génération rapport

En mode génération de rapport le workflow est :

1. Préparation L'expert introduit le dossier de réquisition anonymisé en dehors de l'outil.

L'assistant analyse les documents fournis par le tribunal et produit une trame d'interview en proposant des
questions. L'expert peut compléter, ajuster la trame et compléter les questions.

2. Entretien L'expert suit la trame préparée. Les questions/réponses sont soit notées de manière
manuscrite dans l'outil qui produit un [Link] avec les questions et réponses à faire signer par
l'audité et l'expert.

Option à introduire ultérieurement : la possibilité d'enregistrer sur enregistreur personnel l'interview puis
uploader le .mp3 et demander à l'agent de convertir la conversation en texte pour validation par l'interviewé
et l'expert.

3. Assistance à l'analyse et conclusions L'expert importe le rapport d'interview et rédige des notes
conclusives essentielles pour répondre aux questions du tribunal en étayant ses conclusions sur la base
des réponses obtenues.

Les notes soumises sont ordonnées et mises en forme sans changer l'interprétation de l'expert. L'expert peut
consulter l'IA qui agit en mode contradictoire si besoin.

L'expert peut modifier ses notes et réitérer le cycle jusqu'à satisfaction.

1/5
[Link] 2026-03-25

4. Mise en forme des notes finales et formatage selon le modèle attendu dans un langage
compréhensible par un juge non expert psychologue. Les principales conclusions peuvent néanmoins
être étayées par des arguments techniques précis en jargon psychologique.

5. Validation finale par l'expert et export .word du rapport

6. Optionnel : analyse contradictoire du rapport final en PDF sur le dossier courant

7. Ajout manuel par l'expert des informations nominatives dans le document .word sur le poste de
l'expert.

Rapport contradictoire

En mode analyse contradictoire :

1. Préparation L'expert introduit un dossier de réquisition déjà expertisé après avoir anonymisé toutes les
pièces : les réquisitions initiales, les pièces complémentaires initiales, les notes d'interview disponibles
et le rapport d'expertise à contre-auditer.

2. L'assistant analyse le rapport et détecte les potentielles incohérences ou conclusions non justifiées et
contestables.

Respect des régulations


La conception doit suivre les recommandations du 'EU AI Act' et des réglementations judiciaires françaises. En
particulier le service doit se limiter à l'assistance stricte sans affirmations conclusives. L'analyse contradictoire
pourra néanmoins intégrer un corpus reconnu de psychologie.

Le rapport devra mentionner la méthodologie utilisée. La méthodologie précisera le contexte d'usage général
et pourra être délivrée ou fournie sur demande au tribunal, de même que le rapport contradictoire. Elle
précisera comment le cadre limitatif autorisé par la loi est respecté.

Choix techniques
Stack IA : LangChain + Mistral + Qdrant

Framework d'orchestration : LangChain (Python)


LLM : Mistral 7B Instruct, déployé en local sur l'instance via vLLM ou [Link] (GGUF quantisé)
Base vectorielle : Qdrant (déployé en container Docker sur la même instance)
Embeddings : sentence-transformers (modèle multilingue français, ex: camembert-base ou
multilingual-e5-large)
Extraction PDF : PyMuPDF (fitz) pour l'extraction de texte des documents tribunal
Export Word : python-docx pour la génération du rapport final .docx
Région AWS : eu-west-3 (Paris)

Architecture RAG

Les documents permanents de référence (corpus psychologie, méthodologie) : ai-


agent/rag/permanent/
Les documents de contexte d'une expertise donnée (réquisitions, pièces) : ai-agent/rag/expertise-
context/
2/5
[Link] 2026-03-25

Chunking : RecursiveCharacterTextSplitter (chunk_size=1000, overlap=200)


Chaîne LangChain : RetrievalQA avec prompt template adapté au rôle d'assistant (non conclusif)
Les collections Qdrant sont isolées par dossier d'expertise (une collection par dossier)
Une collection Qdrant permanente dédiée au corpus de référence, distincte des collections par dossier

Corpus de référence psychologique

Au premier déploiement, le système pré-charge un corpus de base constitué de documents publics


libres de droits :
Recommandations HAS (Haute Autorité de Santé) relatives à l'expertise psychologique
Guides de bonnes pratiques du Ministère de la Justice
Textes réglementaires français relatifs à l'expertise judiciaire
Extraits pertinents de la CIM-11 (classification publique OMS)
Ce corpus de base sert de socle par défaut au RAG pour toutes les expertises, même sans ajout de
l'expert
L'expert peut enrichir le corpus de deux manières :
Import d'un document PDF avec métadonnées (titre, auteur, année, domaine, type de source)
Ajout d'un lien vers une ressource publique en ligne (URL) avec métadonnées
L'expert peut visualiser, rechercher (par domaine/mot-clé) et supprimer des documents du corpus (y
compris ceux du corpus de base)
L'interface distingue visuellement les documents du corpus de base des documents ajoutés par l'expert
Les sources du corpus sont citées avec titre, auteur et année dans les réponses du RAG
Les documents du corpus de base sont stockés dans ai-agent/rag/permanent/ et livrés avec
l'application

Structure du projet

├── terraform/ # IaC AWS (Lightsail, S3, KMS, API GW, Lambda,
certificat, variables)
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
│ ├── lambda/ # Fonctions Lambda Python (start/stop instance)
│ │ └── instance_control.py
│ └── [Link] # domaine, IP autorisées, credentials, clé API
├── site/ # Application Flask
│ ├── [Link] # Point d'entrée Flask
│ ├── [Link] # Configuration (clés, chemins, paramètres)
│ ├── [Link] # Authentification, CAPTCHA, blocage IP
│ ├── routes/ # Blueprints Flask par étape du workflow
│ │ ├── [Link] # Création/gestion dossiers
│ │ ├── [Link] # Upload PDF, génération trame interview
│ │ ├── [Link] # Saisie Q/R, génération [Link]
│ │ ├── [Link] # Assistance analyse, mode contradictoire
│ │ ├── [Link] # Mise en forme, export .docx
│ │ ├── [Link] # Workflow analyse contradictoire
│ │ └── [Link] # Administration du corpus de référence
│ ├── templates/ # Templates Jinja2 (HTML5/Bootstrap)
│ ├── static/ # CSS, JS, assets

3/5
[Link] 2026-03-25

│ └── services/ # Logique métier


│ ├── rag_service.py # Interface LangChain/Qdrant
│ ├── pdf_service.py # Extraction PDF
│ ├── export_service.py # Génération .docx
│ ├── crypto_service.py # Chiffrement client-side (Fernet/AES)
│ ├── corpus_service.py # Gestion corpus de référence (import, URL,
métadonnées)
│ └── log_service.py # Logging chiffré vers S3
├── ai-agent/
│ ├── rag/
│ │ ├── permanent/ # Corpus de référence psychologie
│ │ └── expertise-context/ # Documents par expertise
│ ├── chains/ # Chaînes LangChain spécialisées
│ │ ├── interview_chain.py # Génération trame d'interview
│ │ ├── analysis_chain.py # Assistance analyse/conclusions
│ │ ├── formatting_chain.py # Mise en forme rapport
│ │ └── contradictory_chain.py # Analyse contradictoire
│ └── prompts/ # Templates de prompts LangChain
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
│ └── [Link]
├── scripts/ # Scripts utilitaires (setup, migration, backup)
├── docs/ # Documentation
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
│ └── [Link]
├── [Link] # Dépendances Python
├── Dockerfile # Image applicative (Flask + LangChain + vLLM)
└── [Link] # Orchestration Flask + Qdrant + vLLM

Dépendances Python principales

flask>=3.0
langchain>=0.2
langchain-community>=0.2
langchain-qdrant>=0.1
qdrant-client>=1.9
sentence-transformers>=2.7
PyMuPDF>=1.24
python-docx>=1.1
cryptography>=42.0
boto3>=1.34
flask-wtf>=1.2
flask-login>=0.6
gunicorn>=22.0

4/5
[Link] 2026-03-25

Déploiement cloud et chiffrement des données

Instance : AWS Lightsail (eu-west-3), taille minimale supportant le modèle Mistral 7B (16 Go RAM, 4
vCPU recommandé)
Contrôle de l'instance : API REST via API Gateway + Lambda Python pour démarrer/arrêter l'instance
Lightsail à distance (maîtrise des coûts). Authentification par clé API. Infrastructure définie dans
Terraform.
HTTPS : certificat TLS via AWS Lightsail sur un domaine configuré dans [Link]
Stockage : S3 (eu-west-3) avec chiffrement SSE-KMS (clé KMS custom)
Chiffrement client-side : les contenus sont chiffrés avec une clé dérivée du mot de passe expert (AES-
256 via Fernet/cryptography) avant upload S3, rendant les données illisibles même pour
l'administrateur AWS
Conteneurs : Docker Compose sur l'instance Lightsail (Flask + Qdrant + vLLM/[Link])

Services en mode Web

Framework : Python Flask avec Jinja2, HTML5, CSS, Bootstrap 5


Charte graphique : professionnelle, sobre, palette bleu/gris adaptée au contexte judiciaire
Authentification : login unique (user/mot de passe) configuré dans [Link]
CAPTCHA : Flask-WTF avec reCAPTCHA ou CAPTCHA local
Sécurité : blocage 10 minutes après 3 erreurs consécutives, restriction par @IP (configurées dans
[Link])
Chat interactif : pour l'étape 3 (analyse/conclusions), interface de chat avec l'IA en mode contradictoire,
permettant l'édition itérative des notes

Logs

Toutes les interactions expert/assistant sont journalisées avec horodatage


Les logs sont chiffrés avec la clé expert (même mécanisme que les données) avant archivage sur S3
Seul l'expert peut déchiffrer et consulter ses logs
Format : JSON structuré (timestamp, action, entrée, sortie, dossier_id)

5/5

Vous aimerez peut-être aussi