Add session doc: Joplin RAG integration + RAG config optimization

- Document Joplin export process (JEX = TAR archive)
- Clean 78 notes from 111 files (removed folders)
- Config RAG optimization: markdown headers, bge-m3, batch=32
- RAG test: 42 sources found, retrieval works
- Note: Prompt RAG needs improvement for more direct responses
This commit is contained in:
Folzo
2026-04-12 22:37:09 +02:00
parent fdcf513baf
commit 4f1a6cf0ce
+184
View File
@@ -0,0 +1,184 @@
# Session OpenCode - 12 Avril 2026
> **Objet**: Point sur le projet Effi + Intégration Joplin RAG + Optimisation configuration RAG
---
## 1. État des fonctionnalités Effi
### ✅ Fonctionnalités opérationnelles
| Catégorie | Fonctionnalité |
|-----------|----------------|
| **Chat AI** | Open WebUI avec gemma4:e4b + qwen3:8b |
| **Voice STT** | effi-stt (Faster Whisper large-v3) |
| **Voice TTS** | openedai-speech (XTTS v2) - voix FR (siwis, tom) |
| **Image** | ComfyUI + ROCm (RX 7800 XT) |
| **Audio** | ACE-Step model |
| **Docs** | Kreuzberg (extraction PDF, DOCX, OCR) |
| **RAG** | Qdrant (vector DB) + bge-m3 embedding |
| **Automation** | n8n |
| **Monitoring** | Beszel (CPU/RAM/GPU) |
| **WoL** | wol-proxy |
### ⏳ En attente
| Priorité | Fonctionnalité | Status |
|----------|----------------|--------|
| HIGH | Joplin Integration | ✅ Terminé (voir section 2) |
| HIGH | OCR/Tesseract | ✅ Terminé (Kreuzberg en place) |
| Medium | Optimisation Web Search | À faire |
| Medium | Home Assistant Fix | À faire (latence) |
| Medium | Calendar CalDAV | À faire |
| Low | XTTS v2 voice improvement | Besoin .wav samples |
| Fun | Voice Commands (hotwords) | Non implémenté |
---
## 2. Intégration Joplin → RAG
### Problème initial
L'API Joplin Server ne permettait pas l'accès direct aux notes du compte effi@ia.fr (session/token expiré ou droits insuffisants).
### Solution : Export Joplin
1. **Découverte** : Le client Joplin local stocke les backups dans `~/.config/joplin-desktop/JoplinBackup/`
2. **Format JEX** : Les fichiers `.jex` sont des archives TAR contenant les notes en Markdown
3. **Extraction** :
```bash
cd /home/folzo/Documents/OpenCode/Projets/Effi
mkdir joplin-notes
tar -xvf ~/.config/joplin-desktop/JoplinBackup/profile-y9g54tz4/202604121850/all_notebooks.jex
```
4. **Nettoyage** : Les notes contiennent des métadonnées Joplin (id, timestamps, parent_id, etc.) qu'il faut supprimer avant indexation
5. **Résultat** :
- 111 fichiers extraits
- 78 notes (avec contenu)
- 33 dossiers (type_: 2, non exportés)
- ~528 KB au total
### Format d'export recommandé
Pour de futurs exports, privilégier **MD - Markdown** :
- ✅ Contenu propre sans métadonnées
- ✅ Prêt pour RAG sans nettoyage
- ✅ Structure Markdown conservée
---
## 3. Optimisation Configuration RAG
### Modifications appliquées
| Paramètre | Avant | Après |
|-----------|-------|-------|
| Découpage texte | Par caractères | **En-têtes markdown** |
| Taille chunks | 1000 | **750** |
| Chevauchement | 100 | **125** |
| Modèle embedding | all-MiniLM-L6-v2 (384dim) | **bge-m3 (1024dim)** |
| Embedding engine | Sentence Transformers | **Ollama** |
| Batch size | 1 | **32** |
### Configuration actuelle
```
Moteur extraction: Docling (http://192.168.1.11:8300)
Découpage: En-têtes markdown
Chunk size: 750
Chevauchement: 125
Embedding: Ollama (http://192.168.1.27:3011)
Modèle: bge-m3:latest
Batch size: 32
Mode: Injection complète dans le contexte
```
### Collection Qdrant actuelle
```
open-webui_knowledge: 148 points
open-webui_files: 706 points
open-webui_memories: 39 points
open-webui_hash-based: 47 points
```
---
## 4. Tests RAG - Résultats
### Test realizado
**Question** : "Quelles sont les notes dans mon dossier Projet?"
**Résultat** : ✅ 42 sources retrouvées
Le RAG fonctionne correctement :
- Retrieval : ✅ opèrent
- Indexation : ✅ 42 chunks trouveés
- LLM répond avec les bons documents
### Problème identifié : Prompt RAG
Le prompt RAG actuel est trop passif - le LLM demande clarification au lieu de répondre directement.
**Prompt actuel** (partiel) :
```
If the context is unreadable or of poor quality, inform the user and provide the best possible answer.
If the answer isn't present in the context but you possess the knowledge, explain this to the user and provide the answer using your own understanding.
```
**Problème** : Le LLM se sent autorisé à ignorer le contexte et utiliser ses propres connaissances.
### Amélioration suggérée
Prompt plus directif :
```
### Task:
Tu es Effi, l'assistante IA de Folzo. Réponds à la question en utilisant EXCLUSIVEMENT les documents récupérés ci-dessous.
Si les documents contiennent une réponse à la question, réponds directement avec cette information.
Si les documents ne contiennent pas la réponse, dis: "Je n'ai pas cette information dans mes notes."
```
---
## 5. Notes Joplin exportées
### Fichiers disponibles pour indexation
Les notes Joplin sont disponibles dans :
- `/home/folzo/JoplinBackup/default/` (backup Folzo avec vraies notes)
- Export MD à faire depuis Joplin vers `/home/folzo/JoplinBackup/export-md/`
### Contenu vérifié
Notes,包含:
- Projet Effi — Documentation d'installation complète
- Configuration Technique
- Guide Ollama + ROCm + WoL
- Notes D&D (NAIN.md, Guerrier.md, Magicien.md, etc.)
- Documents pros (Cadre de la transformation digitale, Business Model Canvas, etc.)
---
## 6. Suite à donner
1. [ ] Faire export MD propre depuis Joplin (recommandé)
2. [ ] Indexer les notes dans OpenWebUI Knowledge
3. [ ] Optimiser le prompt RAG (voir section 4)
4. [ ] Tester le RAG avec des questions spécifiques
---
## Fichiers crees/modifiés
- `joplin-notes-clean/` - Notes Joplin extraites et nettoyées (78 fichiers)
- `joplin-notes-clean/README.md` - Documentation de l'export
---
*Session conducted by OpenCode AI on 2026-04-12*