4NK_IA_back/docs/NEW-FEATURES-v1.2.0.md
Nicolas Cantu 8c089127af docs: Mise à jour complète de la documentation v1.2.0
- Mise à jour du README.md avec les nouvelles fonctionnalités
- Documentation API mise à jour avec les intégrations externes
- Guide d'installation avec bootstrap automatisé
- Architecture mise à jour avec Celery et intégrations
- CHANGELOG détaillé avec toutes les nouvelles fonctionnalités
- Nouvelle documentation des fonctionnalités v1.2.0

Nouvelles sections documentées:
- Pipeline de traitement asynchrone avec Celery
- Intégrations avec APIs externes (Cadastre, Géorisques, BODACC, etc.)
- Clients d'intégration (AnythingLLM, Neo4j, OpenSearch)
- Configuration d'environnement centralisée
- Script bootstrap automatisé
- Monitoring et observabilité
- Exemples d'utilisation et API
2025-09-10 18:45:50 +02:00

290 lines
7.9 KiB
Markdown

# Nouvelles Fonctionnalités v1.2.0
## 🚀 Vue d'ensemble
La version 1.2.0 apporte des améliorations majeures au système 4NK Notariat avec l'intégration complète de Celery, des pipelines avancés et des intégrations externes automatisées.
## 🔄 Pipeline de Traitement Asynchrone
### Architecture Celery
Le système utilise maintenant Celery pour le traitement asynchrone avec des queues spécialisées :
- **Queue `pipeline`** : Traitement principal des documents
- **Queue `ocr`** : Traitement OCR spécialisé
- **Queue `classification`** : Classification des documents
- **Queue `extraction`** : Extraction d'entités
- **Queue `indexing`** : Indexation multi-système
- **Queue `verification`** : Vérifications externes
### Étapes du Pipeline
1. **Préprocessing** (`services/worker/pipelines/preprocess.py`)
- Validation des formats de fichiers
- Conversion automatique (HEIC → JPEG, images → PDF)
- Optimisation des images pour l'OCR
- Détection de la langue
- Calcul du hash pour l'intégrité
2. **OCR Avancé** (`services/worker/pipelines/ocr.py`)
- Support PDF et images avec Tesseract
- Préprocessing d'images (contraste, débruitage, netteté)
- Correction lexicale spécialisée notariale
- Détection de la structure du document
- Support OCRmyPDF en fallback
3. **Classification** (`services/worker/tasks/classification_tasks.py`)
- Détection du type de document via LLM
- Support des types : acte_vente, acte_donation, acte_succession, cni, contrat, autre
- Calcul de la confiance de classification
- Traitement en lot
4. **Extraction d'Entités** (`services/worker/tasks/extraction_tasks.py`)
- Extraction des identités (vendeur, acheteur, notaire)
- Extraction des adresses et biens immobiliers
- Extraction des montants et dates
- Support spécifique par type de document
5. **Indexation Multi-Système** (`services/worker/tasks/indexing_tasks.py`)
- **AnythingLLM** : Indexation sémantique pour la recherche intelligente
- **OpenSearch** : Recherche plein-texte avec analyseur français
- **Neo4j** : Graphe de connaissances pour les relations entre entités
6. **Vérifications Externes** (`services/worker/tasks/verification_tasks.py`)
- **API Cadastre** : Vérification des parcelles immobilières
- **API Géorisques** : Analyse des risques géologiques
- **API BODACC** : Vérification des entreprises
- **API Infogreffe** : Recherche d'informations d'entreprises
- **API RBE** : Registre des Bénéficiaires Effectifs
- **Calcul du score de vraisemblance** basé sur les vérifications
7. **Finalisation** (`services/worker/pipelines/finalize.py`)
- Synthèse des résultats
- Archivage des documents
- Génération des rapports
## 🔗 Intégrations Externes
### APIs Gouvernementales
#### API Cadastre (`services/worker/utils/external_apis.py`)
```python
# Vérification d'adresse
result = await api_manager.verify_address(
address="123 Rue de la Paix",
postal_code="75001",
city="Paris"
)
```
#### API Géorisques
```python
# Vérification des risques géologiques
result = await api_manager.check_geological_risks(
address="123 Rue de la Paix",
coordinates=[2.3522, 48.8566]
)
```
#### API BODACC
```python
# Vérification d'entreprise
result = await api_manager.verify_company(
company_name="SARL Example",
siren="123456789"
)
```
### Clients d'Intégration
#### AnythingLLM Client (`services/worker/utils/anythingllm_client.py`)
- Création automatique des workspaces
- Upload de documents avec métadonnées
- Recherche sémantique intelligente
- Indexation pour les actes similaires
#### Neo4j Client (`services/worker/utils/neo4j_client.py`)
- Création du contexte de dossier
- Ajout des entités au graphe
- Recherche de documents liés
- Génération de résumés de dossier
#### OpenSearch Client (`services/worker/utils/opensearch_client.py`)
- Indexation avec mapping français
- Recherche plein-texte avancée
- Recherche par entités
- Statistiques d'index
## 🛠️ Configuration et Déploiement
### Fichier d'Environnement
Le fichier `infra/.env` contient toutes les variables de configuration :
```bash
# Configuration du projet
PROJECT_NAME=notariat
DOMAIN=localhost
# Base de données PostgreSQL
POSTGRES_USER=notariat
POSTGRES_PASSWORD=notariat_pwd
POSTGRES_DB=notariat
# Redis pour Celery
REDIS_PASSWORD=
# MinIO (Stockage S3-compatible)
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio_pwd
MINIO_BUCKET=ingest
# AnythingLLM
ANYLLM_API_KEY=change_me
ANYLLM_BASE_URL=http://anythingllm:3001
ANYLLM_WORKSPACE_NORMES=workspace_normes
ANYLLM_WORKSPACE_TRAMES=workspace_trames
ANYLLM_WORKSPACE_ACTES=workspace_actes
# Ollama (LLM local)
OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_MODELS=llama3:8b,mistral:7b
# Neo4j (Graphe de connaissances)
NEO4J_AUTH=neo4j/neo4j_pwd
# OpenSearch (Recherche plein-texte)
OPENSEARCH_PASSWORD=opensearch_pwd
# URLs des APIs externes
CADASTRE_API_URL=https://apicarto.ign.fr/api/cadastre
GEORISQUES_API_URL=https://www.georisques.gouv.fr/api
BODACC_API_URL=https://bodacc-datadila.opendatasoft.com/api
INFOGREFFE_API_URL=https://entreprise.api.gouv.fr/v2/infogreffe
RBE_API_URL=https://www.data.gouv.fr/api/1/datasets/registre-des-beneficiaires-effectifs
```
### Script Bootstrap
Le script `ops/bootstrap.sh` automatise l'installation complète :
```bash
# Vérification des prérequis
check_prerequisites
# Configuration de l'environnement
setup_environment
# Téléchargement des images Docker
pull_images
# Démarrage des services de base
start_base_services
# Configuration de MinIO
setup_minio
# Configuration d'Ollama
setup_ollama
# Démarrage des services applicatifs
start_application_services
# Configuration des workspaces AnythingLLM
setup_anythingllm_workspaces
# Vérification finale
final_check
```
## 📊 Monitoring et Observabilité
### Métriques Celery
- Tâches actives, réservées et terminées
- Temps de traitement par étape
- Taux d'erreur par queue
- Performance des workers
### Health Checks
- Vérification de l'état des services
- Test de connectivité aux APIs externes
- Validation des queues Celery
- Contrôle de l'espace disque et mémoire
## 🔧 Utilisation
### Upload de Document
```python
# Via l'API
response = requests.post(
"http://localhost:8000/api/notary/documents/upload",
files={"file": open("document.pdf", "rb")},
data={
"id_dossier": "DOSSIER-001",
"etude_id": "ETUDE-001",
"utilisateur_id": "USER-001"
}
)
```
### Suivi du Traitement
```python
# Récupération du statut
status = requests.get(
f"http://localhost:8000/api/notary/documents/{doc_id}/status"
)
# Récupération des résultats
results = requests.get(
f"http://localhost:8000/api/notary/documents/{doc_id}/results"
)
```
### Recherche
```python
# Recherche plein-texte via OpenSearch
search_results = opensearch_client.search_documents(
query="acte de vente Paris",
filters={"doc_type": "acte_vente"},
limit=10
)
# Recherche sémantique via AnythingLLM
semantic_results = anyllm_client.search_documents(
workspace_id="workspace_actes",
query="acte de vente immobilière",
limit=5
)
```
## 🚀 Prochaines Étapes
### Phase 3 - Intelligence Artificielle
- [ ] Configuration des modèles Ollama (llama3:8b, mistral:7b)
- [ ] Implémentation de la classification via LLM
- [ ] Extraction d'entités avec LLM
- [ ] Génération d'avis de synthèse
### Phase 4 - Supervision
- [ ] Tableaux de bord Grafana
- [ ] Métriques Prometheus
- [ ] Journaux d'audit structurés
### Phase 5 - Tests et Qualité
- [ ] Tests automatisés complets
- [ ] Données de test
- [ ] Seuils de qualité
## 📚 Documentation
- [README.md](../README.md) - Vue d'ensemble et démarrage rapide
- [docs/API-NOTARIALE.md](API-NOTARIALE.md) - Documentation API complète
- [docs/INSTALLATION.md](INSTALLATION.md) - Guide d'installation détaillé
- [docs/ARCHITECTURE.md](ARCHITECTURE.md) - Architecture du système
- [CHANGELOG.md](../CHANGELOG.md) - Historique des versions