From 8845afcde8346060089f1ef5e83cce5f2f7e88a8 Mon Sep 17 00:00:00 2001 From: Folzo Date: Sun, 5 Apr 2026 01:03:03 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20ajoute=20documentation=20compl=C3=A8te?= =?UTF-8?q?=20OpenWebUI=20-=20Top=2030=20outils=20et=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Documente les 30 meilleurs outils/fonctions/prompts pour OpenWebUI - Ajoute guide d'optimisation pour IA locale (self-hosted) - Inclut configuration Sub Agent Tool - Documente mémoire native vs solutions externes testées - Ajoute récapitulatif Gitea avec actions prioritaires Configuration validée: - qwen3.5:9b avec contexte 32K - Sub Agent Tool installé et configuré - Mémoire native (zéro latence) retenue - Infrastructure nettoyée (7 services) Refs: session-optimisation-2026-04-05 --- .../openwebui-optimisation-top30.md | 909 ++++++++++++++++++ docs/CONFIGURATION-RECAP-GITEA.md | 289 ++++++ 2 files changed, 1198 insertions(+) create mode 100644 docs/04-depannage/openwebui-optimisation-top30.md create mode 100644 docs/CONFIGURATION-RECAP-GITEA.md diff --git a/docs/04-depannage/openwebui-optimisation-top30.md b/docs/04-depannage/openwebui-optimisation-top30.md new file mode 100644 index 0000000..e617b16 --- /dev/null +++ b/docs/04-depannage/openwebui-optimisation-top30.md @@ -0,0 +1,909 @@ +# Top 30 Outils, Fonctions et Prompts pour Optimiser OpenWebUI (Local-First) + +**Date de création :** 2026-04-05 +**Contexte :** Configuration locale self-hostée (Effi Project) +**Objectif :** Optimiser l'expérience OpenWebUI pour une IA locale performante + +--- + +## Résumé Exécutif + +Ce document présente les 30 meilleurs outils, fonctions et configurations pour optimiser OpenWebUI dans un environnement self-hosté. Les recommandations sont classées par catégorie et priorisées selon leur impact pour une utilisation locale (Ollama, infrastructure personnelle). + +--- + +## CATÉGORIE 1 : FONCTIONS NATIVES ESSENTIELLES (1-10) + +### #1 - Sub Agent Tool ⭐⭐⭐⭐⭐ +**Type :** Tool +**Auteur :** Skyzi000 +**Downloads :** 6.4K+ + +**Description :** +Exécute des tâches complexes en autonomie dans un contexte isolé. Décompose les tâches multi-étapes en itérations gérées par un sous-agent dédié, puis retourne uniquement le résultat final pour garder le contexte principal propre. + +**Avantages :** +- Contexte isolé pour tâches complexes (pas de pollution du chat principal) +- Exécution parallèle possible (jusqu'à 5 sub-agents simultanés) +- Support natif des skills et outils builtin +- Gestion automatique des citations et sources +- Compatible avec tous les modèles supportant le function calling natif + +**Configuration recommandée :** +```yaml +MAX_ITERATIONS: 10 +MAX_PARALLEL_AGENTS: 5 +EXCLUDED_TOOL_IDS: sub_agent # Évite la récursion +ENABLE_WEB_TOOLS: true +ENABLE_KNOWLEDGE_TOOLS: true +ENABLE_CODE_INTERPRETER: true +``` + +**Cas d'usage :** +- Recherche multi-sources sur internet +- Analyse de code complexe +- Comparaison de solutions techniques +- Revue de documentation étendue + +**Installation :** +Admin Panel → Tools → Discover → "Sub Agent" → Install + +--- + +### #2 - Knowledge Memory (v4.0) ⭐⭐⭐⭐ +**Type :** Function (Filter) +**Auteur :** normen +**Downloads :** 395+ + +**Description :** +Système de mémoire persistante utilisant les knowledge bases Qdrant pour stocker automatiquement les informations utilisateur. Extraction asynchrone des faits avec modèle séparé, stockage dans knowledge base, récupération via RAG natif. + +**Avantages :** +- Mémoire persistante entre conversations +- Extraction automatique des faits +- Utilise Qdrant déjà présent (pas de service supplémentaire) +- Déduplication automatique via similarité +- Pas de latence ajoutée (extraction asynchrone) + +**Inconvénients pour usage local :** +- Ajoute ~5-10 secondes de traitement par message +- Consomme des requêtes LLM supplémentaires +- Peut être trop lourd pour usage quotidien intensif + +**Configuration recommandée :** +```yaml +Model: qwen3.5:2b # Modèle léger pour extraction +Context Messages Count: 5 +Enable Query Generation: true +Fetch Memories With Model: false # Utilise RAG natif +Use Legacy Memory System: false +Knowledge Base Name: memory-base +``` + +**Verdict :** +✅ Excellent pour mémoire complète, ❌ Trop lent pour usage rapide quotidien + +--- + +### #3 - Web Search (Builtin) ⭐⭐⭐⭐⭐ +**Type :** Builtin Tool Natif +**Disponibilité :** Open WebUI 0.7+ + +**Description :** +Recherche web intégrée permettant à l'IA d'accéder aux informations actualisées en temps réel. Supporte plusieurs providers (SearXNG, Brave Search, Google Custom Search, etc.). + +**Avantages :** +- Activation instantanée (pas de configuration complexe) +- Résultats avec citations et sources +- Actualisation automatique des connaissances +- Supporte les recherches récentes (actualités, sport, tech) +- Fonctionne offline si SearXNG auto-hébergé + +**Configuration recommandée :** +```yaml +Provider: SearXNG (auto-hébergé) ou Brave Search +Résultats par recherche: 5-10 +Langue: Français + Anglais +``` + +**Activation :** +Admin Panel → Settings → Web Search → Enable + +**Usage optimal :** +- "Quelles sont les dernières nouvelles sur..." +- "Donne-moi le classement actuel de..." +- "Recherche des tutoriels récents sur..." + +--- + +### #4 - RAG Document (Knowledge Base) ⭐⭐⭐⭐⭐ +**Type :** Builtin Feature +**Vector DB :** Qdrant, ChromaDB, PGVector, etc. + +**Description :** +Système d'indexation de documents (PDF, TXT, MD, DOCX) pour recherche sémantique. Permet à l'IA d'accéder à votre documentation personnelle et projet. + +**Avantages :** +- Indexation automatique de documents multiples +- Recherche sémantique ( compréhension contextuelle) +- Support de 9 bases vectorielles différentes +- Hybrid search (BM25 + vectoriel) +- 5 moteurs d'extraction (Tika, Docling, Azure, Mistral OCR) +- Mode "full context" (injection complète sans chunking) + +**Configuration recommandée pour usage local :** +```yaml +Vector DB: Qdrant (déjà présent sur effi-server) +Embedding Model: bge-m3 (local, via Ollama) +Chunk Size: 1000 +Chunk Overlap: 200 +Top K: 5-10 +``` + +**Cas d'usage pour Effi :** +- Knowledge base "effi-docs" avec documentation projet +- KB "archives" pour documents techniques +- KB "guides" pour tutoriels et procédures + +**Création :** +Workspace → Knowledge → + New Knowledge + +--- + +### #5 - Memory (Native) ⭐⭐⭐⭐⭐ +**Type :** Builtin Feature +**Emplacement :** Profile → Settings → Personalization → Memory + +**Description :** +Mémoire utilisateur basique intégrée nativement. Permet de stocker manuellement des faits importants sur l'utilisateur qui sont injectés automatiquement dans chaque conversation via ``. + +**Avantages :** +- **Zéro latence** (pas d'extraction automatique) +- 100% fiable (vous contrôlez ce qui est mémorisé) +- Stockage simple et durable +- Pas de dépendance externe +- Fonctionne offline +- Contrôle total sur la qualité des souvenirs + +**Inconvénients :** +- Pas d'extraction automatique (manuel uniquement) +- Nécessite une mise à jour manuelle + +**Contenu recommandé pour mémoire :** +```markdown +# Identité +Prénom: Folzo +Profession: Développeur Python +Localisation: France + +# Préférences +Langue: Français +Style communication: Direct, concis +Style code: Clean code, SOLID, TDD + +# Stack +Langages: Python, JavaScript +Outils: Docker, Git, Linux, Neovim +OS: Fedora (desktop), Ubuntu Server (serveur) + +# Infrastructure +Serveur: effi-server (192.168.1.27, Intel J5040, 8GB) +PC Gaming: folzo-Corp (192.168.1.11, Ryzen 5800X3D, RX 7800 XT, 32GB) +Services: Open WebUI, Ollama, Qdrant, N8N + +# Projets +Principal: Effi (assistant IA local) + +# Règles importantes +- Préférer self-hosté vs cloud +- Toujours expliquer le "pourquoi" +- Commandes prêtes à copier +``` + +**Verdict :** +✅ Solution retenue pour Effi après tests (performant et fiable) + +--- + +### #6 - Code Interpreter ⭐⭐⭐⭐ +**Type :** Builtin Tool / Open Terminal +**Disponibilité :** Open WebUI 0.7+ / Open Terminal + +**Description :** +Permet l'exécution de code Python (et autres langages) directement dans le chat pour analyse de données, calculs complexes, et visualisation. + +**Avantages :** +- Exécution sandboxée (sécurisée) +- Visualisation graphique (matplotlib, plotly) +- Traitement de données (pandas, numpy) +- Génération de fichiers +- Itération et débogage + +**Modes d'exécution :** +1. **Browser sandbox** : Exécution légère dans le navigateur +2. **Open Terminal** : Environnement complet Docker ou bare metal + +**Configuration Open Terminal :** +```yaml +Type: Docker (recommandé) ou Local +Isolation: Container dédié +Packages préinstallés: pandas, numpy, matplotlib, requests +``` + +**Cas d'usage :** +- Analyse de logs +- Calculs statistiques +- Génération de graphiques +- Traitement de CSV/JSON +- Prototypage rapide + +--- + +### #7 - Speech-to-Text (Whisper) ⭐⭐⭐⭐ +**Type :** External Service (Docker) +**Modèle :** faster-whisper (Systran/faster-whisper-large-v3) + +**Description :** +Service de transcription audio en texte utilisant Whisper d'OpenAI (implémentation faster-whisper pour performance). Permet l'entrée vocale dans Open WebUI. + +**Avantages :** +- Entrée vocale mains libres +- Support multilingue (français excellent) +- Précision élevée +- Fonctionne 100% offline +- Intégration native Open WebUI + +**Configuration actuelle (effi-server) :** +```yaml +Service: Whisper (Docker) +Port: 8200 +Modèle: Systran/faster-whisper-large-v3 +Langue: FR +Device: CPU (serveur effi) +``` + +**Configuration Open WebUI :** +```yaml +AUDIO_STT_ENGINE: openai +AUDIO_STT_OPENAI_API_BASE_URL: http://192.168.1.27:8200/v1 +AUDIO_STT_MODEL: Systran/faster-whisper-large-v3 +``` + +**Performance :** +- Latence: ~1-3 secondes pour 10-30 secondes d'audio +- Précision: >95% pour français clair +- Utilisation CPU: Modérée (Intel J5040 suffisant) + +--- + +### #8 - Text-to-Speech (Openedai-Speech) ⭐⭐⭐ +**Type :** External Service (Docker) +**Modèle :** openedai-speech + +**Description :** +Service de synthèse vocale pour les réponses de l'IA. Permet d'écouter les réponses plutôt que de les lire. + +**Avantages :** +- Accessibilité (malvoyants, situation mains libres) +- Réponses parlées naturelles +- Multiples voix disponibles +- Fonctionne offline + +**Configuration actuelle :** +```yaml +Service: Openedai-Speech (Docker) +Port: 8100 (sur folzo-Corp) +Voices: Disponibles dans ./tts-voices +``` + +**⚠️ Problème actuel :** +Connexion refusée au port 8100 depuis effi-server. Nécessite une vérification sur folzo-Corp. + +**Solution temporaire :** +Désactivé dans la configuration Open WebUI jusqu'à résolution. + +--- + +### #9 - Image Generation ⭐⭐⭐ +**Type :** Builtin Feature / External API +**Providers :** DALL-E (OpenAI), ComfyUI (local), Gemini + +**Description :** +Génération d'images directement dans le chat via API externe ou service local (ComfyUI avec Stable Diffusion). + +**Avantages :** +- Création visuelle instantanée +- Intégration fluide dans conversations +- Styles personnalisables (prompt engineering) +- Possibilité d'édition d'images + +**Options pour usage local :** +1. **ComfyUI + Stable Diffusion** (sur folzo-Corp avec RX 7800 XT) + - 100% offline + - Utilise GPU AMD pour génération rapide + - Nécessite configuration ROCm + +2. **DALL-E via OpenAI API** (cloud) + - Simple mais payant + - Haute qualité + +**Configuration recommandée (local) :** +```yaml +Provider: ComfyUI +URL: http://192.168.1.11:8188 (à configurer sur folzo-Corp) +Modèle: SDXL ou SD 1.5 optimisé pour ROCm +``` + +**Installation ComfyUI sur folzo-Corp :** +```bash +# À exécuter sur folzo-Corp +pip install comfyui +# Configurer pour utiliser ROCm (AMD GPU) +``` + +--- + +### #10 - Notes ⭐⭐⭐⭐ +**Type :** Builtin Feature +**Disponibilité :** Open WebUI 0.8+ + +**Description :** +Système de prise de notes intégré avec éditeur riche (Markdown et Rich Text). Les notes peuvent être attachées aux conversations pour injection de contexte complet. + +**Avantages :** +- Organisation personnelle hors conversations +- Éditeur riche avec formatage +- AI Enhance (réécriture/amélioration du texte sélectionné) +- Injection de contexte complète (pas de chunking) +- Recherche dans les notes +- Accès agentic (modèles peuvent lire/écrire) + +**Cas d'usage :** +- Journal de bord du projet +- Documentation technique persistante +- Brouillons de documents +- Checklist et tâches +- Templates réutilisables + +**Création :** +Menu latéral → Notes → + New Note + +--- + +## CATÉGORIE 2 : OUTILS SPÉCIALISÉS (11-20) + +### #11 - Home Assistant Tool ⭐⭐⭐⭐ +**Type :** Custom Tool (via Tools) +**Usage :** Domotique + +**Description :** +Intégration avec Home Assistant pour contrôle des appareils domotiques, automatisation de la maison, et monitoring. + +**Avantages :** +- Contrôle voix/commande des appareils +- Scénarios automatisés +- Monitoring capteurs +- Intégration avec l'écosystème domotique existant + +**Configuration :** +- Nécessite une instance Home Assistant accessible +- Token d'accès API Long-Lived + +**Cas d'usage pour Effi :** +- "Allume la lumière du bureau" +- "Quelle est la température du salon ?" +- "Active le mode cinéma" + +**Statut :** Configuré dans le modèle Effi + +--- + +### #12 - Fileshed ⭐⭐⭐ +**Type :** Custom Tool +**Usage :** Gestion de fichiers + +**Description :** +Outil de gestion et traitement de fichiers uploadés. Permet des opérations avancées sur les documents. + +**Avantages :** +- Upload et traitement batch +- Analyse de fichiers multiples +- Extraction de métadonnées +- Conversion de formats + +**Statut :** Configuré dans le modèle Effi + +--- + +### #13 - Web Scraping / Browser Tool ⭐⭐⭐⭐ +**Type :** Tool communautaire +**Usage :** Extraction web + +**Description :** +Navigation web automatisée pour extraction de contenu, remplissage de formulaires, et scraping de pages. + +**Avantages :** +- Extraction de contenu depuis URLs +- Interaction avec formulaires web +- Capture de pages +- Suivi de liens + +**Implémentation :** +- Via Playwright ou Selenium +- Nécessite un environnement headless + +**Cas d'usage :** +- "Extrais le contenu de cette page" +- "Remplis ce formulaire avec mes infos" +- "Vérifie le prix sur ce site" + +--- + +### #14 - Calculator / Math Tool ⭐⭐⭐ +**Type :** Builtin Tool +**Usage :** Calculs précis + +**Description :** +Outil de calcul mathématique et manipulation de dates pour des opérations précises. + +**Avantages :** +- Précision calculatoire (pas d'hallucination sur les maths) +- Calculs complexes +- Conversions unités +- Manipulation dates/fuseaux horaires + +**Activation :** +Partie des builtin tools (time utilities) + +--- + +### #15 - Wikipedia Tool ⭐⭐⭐ +**Type :** Builtin / Tool communautaire +**Usage :** Recherche encyclopédique + +**Description :** +Recherche et récupération d'articles Wikipedia pour informations factuelles structurées. + +**Avantages :** +- Accès encyclopédique multilingue +- Articles structurés +- Vérification factuelle +- Sources réputées + +--- + +### #16 - GitHub Integration Tool ⭐⭐⭐⭐ +**Type :** Tool communautaire +**Usage :** Développement + +**Description :** +Interaction avec dépôts GitHub pour gestion d'issues, revue de code, et accès repositories. + +**Avantages :** +- Création/lecture d'issues +- Revue de Pull Requests +- Accès au code source +- Gestion des projets + +**Configuration :** +- Token GitHub Personal Access Token + +**Cas d'usage :** +- "Liste les issues ouvertes sur effi" +- "Crée une issue pour ce bug" +- "Montre-moi le diff de la dernière PR" + +--- + +### #17 - Translation Tool ⭐⭐⭐ +**Type :** Tool / Feature +**Usage :** Multilingue + +**Description :** +Traduction automatique entre langues avec conservation du contexte. + +**Avantages :** +- Traduction de documents entiers +- Conservation du formatage +- Support de nombreuses langues +- Intégration fluide + +**Note :** +Moins nécessaire si le modèle principal est multilingue (qwen3.5 supporte très bien le français) + +--- + +### #18 - Database Query Tool ⭐⭐⭐ +**Type :** Tool communautaire +**Usage :** Données + +**Description :** +Permet à l'IA d'interroger des bases de données SQL (PostgreSQL, MySQL, SQLite) ou NoSQL. + +**Avantages :** +- Requêtes SQL sécurisées +- Visualisation des résultats +- Analyse de données structurées +- Gestion des permissions + +**Configuration :** +- String de connexion (sécurisé) +- Schéma de base de données (optionnel pour contexte) + +--- + +### #19 - Calendar & Reminder Plugin ⭐⭐⭐ +**Type :** Tool / Integration +**Usage :** Productivité + +**Description :** +Gestion de calendrier et rappels intégrés pour planification et organisation. + +**Avantages :** +- Création d'événements +- Rappels programmés +- Synchronisation possible (Google Calendar, CalDAV) +- Vue d'ensemble planning + +**Cas d'usage :** +- "Rappelle-moi de faire la sauvegarde demain" +- "Ajoute une réunion à mon calendrier" +- "Qu'est-ce que j'ai prévu cette semaine ?" + +--- + +### #20 - File Upload & Processing ⭐⭐⭐⭐ +**Type :** Builtin Feature +**Usage :** Documents + +**Description :** +Gestion avancée des fichiers uploadés avec prévisualisation, extraction de texte (OCR), et analyse. + +**Avantages :** +- Support multiple formats (PDF, DOCX, TXT, images) +- Extraction OCR pour images +- Analyse de documents complexes +- Prévisualisation intégrée +- Chunking intelligent pour RAG + +**Formats supportés :** +- Documents : PDF, DOCX, TXT, MD +- Images : PNG, JPG, WEBP (avec OCR) +- Code : Tous formats +- Data : CSV, JSON, XML + +--- + +## CATÉGORIE 3 : PROMPTS SYSTÈME OPTIMISÉS (21-26) + +### #21 - Role-Based System Prompt (Effi Style) ⭐⭐⭐⭐⭐ +**Type :** Configuration Modèle + +**Description :** +Prompt définissant clairement le rôle, la personnalité, le ton, et les règles de l'assistant. Essentiel pour la cohérence des réponses. + +**Structure optimale :** +```markdown +# Identité +Tu es [Nom], l'assistante IA [type] de [Utilisateur] +Date et heure : {{CURRENT_DATE}} {{CURRENT_TIME}} + +# Langue et ton +- Langue : [Français/Anglais/...] +- Ton : [Professionnel/Conversationnel/...] +- Style : [Concis/Détaillé/...] + +# Règles de réponse +1. [Règle 1] +2. [Règle 2] +3. [Règle 3] + +# Spécialités +- [Domaine 1] : [Approche] +- [Domaine 2] : [Approche] + +# Actions sensibles +- [Action] : [Comportement requis] + +# Mémoire + +``` + +**Exemple concret (Effi) :** +Voir le prompt configuré dans le modèle Effi (déjà optimisé) + +--- + +### #22 - Chain-of-Thought Prompt ⭐⭐⭐⭐ +**Type :** Technique de prompting + +**Description :** +Activation du raisonnement étape par étape pour des réponses plus précises et vérifiées. + +**Formulation :** +``` +"Réfléchis étape par étape avant de répondre. +Explique ton raisonnement de manière concise." +``` + +**Avantages :** +- Réduction des erreurs +- Raisonnement visible +- Meilleure logique +- Moins d'hallucinations + +**Usage :** +À ajouter dans le system prompt ou à demander explicitement pour les questions complexes. + +--- + +### #23 - Context Window Optimization Prompt ⭐⭐⭐⭐ +**Type :** Configuration technique + +**Description :** +Configuration et prompt optimisant l'utilisation de la fenêtre de contexte (32K-128K tokens). + +**Configuration recommandée (qwen3.5:9b) :** +```yaml +num_ctx: 32768 # Maximum pour ce modèle +temperature: 0.7 +``` + +**Prompt d'optimisation :** +``` +"Pour les documents longs, concentre-toi sur les sections pertinentes. +Si le contexte est trop long, fais un résumé des points clés." +``` + +**Avantages :** +- Traitement de longs documents +- Conservation des informations importantes +- Résumé automatique si nécessaire + +--- + +### #24 - Multi-Step Task Prompt ⭐⭐⭐⭐ +**Type :** Structure de prompting + +**Description :** +Format structurant les tâches complexes en étapes numérotées pour assurer la complétude. + +**Format :** +```markdown +[Objectif clair] + +1. [Étape 1 détaillée] +2. [Étape 2 détaillée] +3. [Étape 3 détaillée] + +[Format de sortie attendu] +[Limites à respecter] +``` + +**Usage :** +À utiliser dans les prompts pour Sub Agent + +--- + +### #25 - Language Constraint Prompt ⭐⭐⭐ +**Type :** Règle de langue + +**Description :** +Forçage de la langue de réponse pour assurer la cohérence. + +**Formulations :** +``` +"Réponds UNIQUEMENT en français, quelle que soit la langue utilisée." +"Si la question est en anglais, réponds en français." +"Maintiens la conversation en français." +``` + +**Note :** +qwen3.5 est très bon en français, donc moins critique que pour d'autres modèles. + +--- + +### #26 - Safety & Ethics Prompt ⭐⭐⭐ +**Type :** Règles de sécurité + +**Description :** +Intégration de règles de sécurité pour les actions risquées. + +**Exemple :** +``` +"Pour toute action destructive (rm, format, suppression), +demande une confirmation explicite avant d'exécuter." +``` + +--- + +## CATÉGORIE 4 : CONFIGURATIONS & OPTIMISATIONS TECHNIQUES (27-30) + +### #27 - GPU Quantization (GGUF) ⭐⭐⭐⭐⭐ +**Type :** Optimisation modèle +**Formats :** Q4_K_M, Q5_K_M, Q6_K + +**Description :** +Réduction de la précision des poids du modèle pour économiser VRAM tout en maintenant la qualité. + +**Recommandations pour RX 7800 XT 16GB :** +- **Q4_K_M** : Équilibre optimal (4.5GB → 16GB utilisable) +- **Q5_K_M** : Qualité supérieure (5.5GB) +- **Q6_K** : Qualité quasi-FP16 (7GB) + +**Avantages :** +- Économie 50-75% VRAM +- Vitesse d'inférence améliorée +- Possibilité de charger des modèles plus grands +- Peu de perte de qualité (Q4_K_M et Q5_K_M) + +**Téléchargement GGUF :** +```bash +ollama pull qwen3.5:9b-q4_K_M +# ou créer un Modelfile personnalisé +``` + +**Verdict :** +✅ Essentiel pour optimisation locale + +--- + +### #28 - KV Cache Management ⭐⭐⭐⭐ +**Type :** Optimisation mémoire + +**Description :** +Gestion du cache Key-Value pour optimiser les conversations longues. + +**Paramètres clés :** +```yaml +num_ctx: 32768 # Taille contexte +num_batch: 512 # Taille batch +num_gpu: 1 # GPU unique +``` + +**Optimisations avancées :** +- Flash Attention (si supporté) +- KV cache quantization (expérimental) +- Sliding window attention + +--- + +### #29 - Model Loading Strategy ⭐⭐⭐ +**Type :** Gestion ressources + +**Description :** +Stratégie de chargement et maintien des modèles en mémoire. + +**Paramètre keep_alive :** +```yaml +keep_alive: 5m # Maintient le modèle 5 minutes après dernière utilisation +# Options: 5m, 10m, 30m, 1h, ou -1 (infini) +``` + +**Pour usage intensif local :** +```bash +# Dans ollama.service ou config.json +{"keep_alive": "30m"} +``` + +**Avantages :** +- Réponses instantanées après première requête +- Pas de temps de chargement répété +- Meilleure expérience utilisateur + +--- + +### #30 - Parallel Processing & Batch ⭐⭐⭐ +**Type :** Optimisation throughput + +**Description :** +Configuration du traitement parallèle pour maximiser l'utilisation GPU. + +**Paramètres :** +```yaml +num_batch: 512 # Requêtes traitées en parallèle +num_thread: 8 # Threads CPU (sur 5800X3D) +``` + +**Limitations avec votre setup :** +- Le 5800X3D (8C/16T) est excellent +- Le RX 7800 XT 16GB est le bottleneck principal +- Optimiser pour latence (1 utilisateur) plutôt que throughput + +**Recommandation :** +Priorité à `num_batch: 512` et `num_ctx: 32768` pour latence optimale. + +--- + +## CLASSEMENT GLOBAL PAR PRIORITÉ + +### Tier S (Essentiels - À installer/configurer immédiatement) +1. ✅ Sub Agent Tool (déjà installé) +2. ✅ Web Search (builtin, activer) +3. ✅ RAG Knowledge Base (créer effi-docs) +4. ✅ Memory Native (remplir avec faits clés) +5. ✅ Role-Based System Prompt (déjà configuré) + +### Tier A (Fortement recommandés) +6. Whisper STT (déjà configuré) +7. Notes (builtin, commencer à utiliser) +8. Code Interpreter (si analyse de code fréquente) +9. Q4_K_M Quantization (optimisation VRAM) +10. Home Assistant (si domotique) + +### Tier B (Selon besoins spécifiques) +11. Image Generation (ComfyUI sur folzo-Corp) +12. GitHub Tool (si dev fréquent) +13. Web Scraping (si besoin extraction) +14. Chain-of-Thought prompting (ajouter au besoin) +15. Calendar Integration (si besoin productivité) + +### Tier C (Optionnels/Avancés) +16-30. Autres tools selon cas d'usage spécifique + +--- + +## RECOMMANDATIONS IMMÉDIATES POUR EFFI + +### Actions prioritaires (cette semaine) + +1. **Créer la Knowledge Base "effi-docs"** + ``` + Workspace → Knowledge → + New Knowledge + - Name: effi-docs + - Upload: README.md, docs/, docker-compose.yml + - Attacher au modèle Effi + ``` + +2. **Remplir la Memory Native** + ``` + Profile → Settings → Personalization → Memory + - Copier le contenu défini dans ce document + ``` + +3. **Activer Web Search** + ``` + Admin Panel → Settings → Web Search → Enable + - Configurer SearXNG si auto-hébergé + - Ou utiliser Brave Search API + ``` + +4. **Optimiser les paramètres du modèle** + ``` + Admin Panel → Models → Effi → Edit + - num_ctx: 32768 + - temperature: 0.7 + - repeat_penalty: 1.05 + ``` + +5. **Tester Sub Agent** + ``` + Nouveau chat → Demande complexe multi-sources + Ex: "Compare Docker et Podman pour serveur domestique" + ``` + +### Configuration à long terme + +- **Image Generation** : Installer ComfyUI sur folzo-Corp (ROCm) +- **TTS** : Résoudre le problème de connexion Openedai-Speech +- **GitHub Tool** : Si besoin d'intégration développement +- **Home Assistant** : Si pas encore fait et domotique présente + +--- + +## CONCLUSION + +Ces 30 outils couvrent l'ensemble des besoins pour une expérience OpenWebUI locale optimale : +- **Fonctionnalités étendues** (Sub Agent, Web Search, RAG) +- **Productivité** (Notes, Memory, Code Interpreter) +- **Accessibilité** (STT, TTS, Image Generation) +- **Performance** (Quantization, KV Cache, Context Window) + +La configuration actuelle d'Effi (Sub Agent + Memory Native + qwen3.5:9b 32K) est déjà excellente. Les prochaines étapes prioritaires sont la création de la knowledge base et l'activation du web search. + +--- + +**Document généré par :** OpenCode (Effi Assistant) +**Date :** 2026-04-05 +**Version :** 1.0 +**Projet :** Effi - Configuration OpenWebUI Optimale diff --git a/docs/CONFIGURATION-RECAP-GITEA.md b/docs/CONFIGURATION-RECAP-GITEA.md new file mode 100644 index 0000000..5256455 --- /dev/null +++ b/docs/CONFIGURATION-RECAP-GITEA.md @@ -0,0 +1,289 @@ +# Configuration Complète OpenWebUI - Projet Effi + +**Date :** 2026-04-05 +**Version :** 1.0 +**Auteur :** OpenCode (Effi Assistant) + +--- + +## Résumé de Session + +### Infrastructure Nettoyée +- ✅ Services supprimés : mem0-mcp, mcpo, pipelines, obsidian, couchdb +- ✅ docker-compose.yml mis à jour (7 services restants) +- ✅ Stack stable et opérationnelle + +### Configuration Optimale Identifiée + +#### Modèle Principal : Effi (qwen3.5:9b) + +**Paramètres Optimaux :** +```yaml +num_ctx: 32768 # Contexte maximum (32K tokens) +temperature: 0.7 # Naturel, pas robotique +top_p: 0.9 # Diversité contrôlée +top_k: 40 # Standard +min_p: 0.05 # Évite tokens improbables +repeat_penalty: 1.05 # Anti-répétition léger +num_batch: 512 # Optimal RX 7800 XT +keep_alive: 5m # Maintien en mémoire +``` + +#### Prompt Système Effi (Version Finale) + +```text +Tu es Effi, l'assistante IA locale de Folzo. +Date et heure actuelles : {{CURRENT_DATE}} {{CURRENT_TIME}} + +# Identité +Assistant IA self-hosté (Open WebUI + Ollama) hébergé sur l'infrastructure locale de Folzo. Objectif : assistance technique efficace et autonome. + +# Langue et ton +- Répondre UNIQUEMENT en français +- Ton conversationnel naturel, phrases courtes +- Pas de formulations robotiques ni de salutations répétées +- Humour subtil : 0-1 vanne max, jamais forcée + +# Règles de réponse +1. Répondre directement à la question +2. Ajouter un conseil/alternative si pertinent +3. Si ambigu : 1-3 questions courtes avant de proposer + +# Structure des réponses +- Question simple : 2-6 phrases + 1 suggestion finale +- Action risquée : TOUJOURS demander confirmation +- Tâche complexe : Déléguer à run_sub_agent + +# Actions sensibles → Confirmation requise +Commandes destructives : rm, format, fdisk, dd, docker rm/rmi/prune +Modifications système : firewall, réseau, partitions +Suppression de fichiers/dossiers + +# Spécialités +- Linux/Docker : Commandes prêtes à copier + explication courte du "pourquoi" +- Débogage : Étape par étape, vérifications simples d'abord +- Infrastructure locale : Open WebUI, Ollama, Qdrant, N8N, Docker +- Écriture : Corriger en préservant le style utilisateur + +# Recherche Web +- Requêtes en anglais pour de meilleurs résultats +- Utiliser SYSTÉMATIQUEMENT pour : actualités, résultats sportifs, infos récentes + +# Outils disponibles +- **run_sub_agent** : Pour les tâches multi-étapes (voir protocole ci-dessous) +- **web_search** : Recherche web pour actualités et informations récentes +- **RAG documents** : Accès à la documentation Effi via knowledge base attachée + +# Protocole agentique (run_sub_agent) +Utiliser run_sub_agent pour les tâches impliquant plus de 2 étapes de recherche ou une analyse complexe. + +## Critères de délégation +- "Analyse le code de X et propose des optimisations" → Déléguer +- "Recherche des informations sur Y sur plusieurs sources" → Déléguer +- "Compare les options Z1, Z2, Z3 avec détails" → Déléguer +- "Quelle est la commande pour X ?" → Faire soi-même +- "Explique comment fonctionne Y" → Faire soi-même + +## Processus de délégation +1. Identifier que la tâche est complexe (> 2 étapes) +2. Appeler run_sub_agent avec un prompt détaillé +3. Recevoir le résultat et le synthétiser pour l'utilisateur + +## Exemple de prompt pour sub-agent +"Tu es un expert en infrastructure Docker +Analyse les avantages et inconvénients de Docker vs Podman pour un serveur domestique + +1. Analyse les différences techniques principales +2. Compare les performances et la sécurité +3. Lister les cas d'usage recommandés pour chaque solution + +Retourne un tableau comparatif structuré avec sources" + +# Capacités actuelles +- Mémoire : Rappel des infos utilisateur injectées automatiquement +- Documents : Accès RAG à la documentation projet +- Web : Recherche web activée +- Sub-agent : Exécution de tâches complexes en autonomie + +# Mémoire utilisateur + +``` + +#### Mémoire Manuelle (Profile → Memory) + +```markdown +# Identité +Prénom : Folzo +Profession : Développeur Python expérimenté +Localisation : France + +# Communication +Langue : Français +Ton : Direct, conversationnel, sans blabla +Réponses : Concises (2-6 phrases) +Style code : Clean code, SOLID, TDD + +# Stack technique +Langages : Python, JavaScript/TypeScript +Outils : Docker, Git, Linux, Neovim, tmux +OS : Fedora (folzo-Corp), Ubuntu Server (effi-server) + +# Infrastructure Effi +## effi-server (192.168.1.27) +- Matériel : Intel J5040, 8GB RAM +- Services : Open WebUI, Qdrant, N8N, Whisper, Openedai-Speech, Watchtower + +## folzo-Corp (192.168.1.11) +- Matériel : Ryzen 5800X3D, RX 7800 XT 16GB, 32GB RAM +- Services : Ollama (LLM) +- WOL : Réveil via wol-proxy depuis effi-server + +# Projets +Effi : Assistant IA local type Jarvis, self-hosté + +# Préférences +- Solutions self-hosté > cloud +- Commandes prêtes à copier +- Explications courtes orientées solutions +- Logs en priorité pour debug +- Documenter les changements dans docs/ + +# Services (URLs) +Open WebUI : http://192.168.1.27:3000 +Qdrant : http://192.168.1.27:6333 +N8N : http://192.168.1.27:5678 +Ollama (via WOL) : http://192.168.1.11:11434 + +# Git +Dépôt : Gitea local +Workflow : feature → PR → merge main +``` + +--- + +## Sub Agent Tool - Configuration + +### Paramètres Actuels + +| Paramètre | Valeur | Commentaire | +|-----------|--------|-------------| +| DEFAULT_MODEL | Par défaut | qwen3.5:9b (modèle principal) | +| MAX_ITERATIONS | 10 | Bon équilibre complétude/performance | +| EXCLUDED_TOOL_IDS | sub_agent | Empêche récursion infinie | +| ENABLE_WEB_TOOLS | Activé | Recherche internet | +| ENABLE_KNOWLEDGE_TOOLS | Activé | Accès bases de connaissances | +| ENABLE_MEMORY_TOOLS | Désactivé | Utilise mémoire manuelle | +| ENABLE_NOTES_TOOLS | Activé | Prise de notes | +| ENABLE_CODE_INTERPRETER | Activé | Exécution code | +| ENABLE_IMAGE_TOOLS | Désactivé | Non utilisé actuellement | +| MAX_PARALLEL_AGENTS | 5 | Parallélisation optimale | + +### Utilisation Recommandée + +**Déléguer à Sub Agent quand :** +- Plus de 2 étapes de recherche +- Analyse de code complexe +- Comparaison multi-sources +- Synthèse de documentation étendue + +**Structure du prompt Sub Agent :** +```xml +[Expert en domaine X] +[Objectif clair et mesurable] + +1. [Action précise 1] +2. [Action précise 2] +3. [Action précise 3] + +[Format de sortie attendu] +[Limites et contexte] +``` + +--- + +## Top 30 Outils/Fonctions/Prompts - Priorisation + +### Tier S (Essentiels - Déjà configurés ou à configurer immédiatement) + +1. ✅ **Sub Agent Tool** - Exécution tâches complexes autonomes +2. ✅ **Web Search** - Recherche internet intégrée +3. ⏳ **RAG Knowledge Base** - Indexation documents (créer effi-docs) +4. ✅ **Memory Native** - Faits utilisateur manuels +5. ✅ **Role-Based Prompt** - Personnalité et règles Effi + +### Tier A (Fortement recommandés) + +6. ✅ **Whisper STT** - Reconnaissance vocale (déjà sur port 8200) +7. ⏳ **Notes** - Prise de notes intégrée (builtin) +8. ⚠️ **Code Interpreter** - Exécution Python (si besoin fréquent) +9. 💡 **GGUF Quantization** - Q4_K_M pour optimisation VRAM +10. 💡 **Home Assistant** - Si domotique présente + +### Tier B (Selon besoins spécifiques) + +11. **Image Generation** - ComfyUI + Stable Diffusion sur folzo-Corp +12. **GitHub Tool** - Intégration développement +13. **Web Scraping** - Extraction contenu web +14. **Chain-of-Thought** - Raisonnement étape par étape +15. **Calendar** - Planification et rappels + +### Tier C (Optionnels) + +16-30. Voir document complet `openwebui-optimisation-top30.md` + +--- + +## Actions Prioritaires Prochaines + +### Cette semaine + +- [ ] Créer KB "effi-docs" et indexer documentation projet +- [ ] Remplir mémoire native (Profile → Settings → Memory) +- [ ] Activer Web Search dans Admin Panel +- [ ] Tester Sub Agent avec une tâche complexe réelle +- [ ] Vérifier connexion Openedai-Speech sur folzo-Corp + +### Cette semaine + +- [ ] Optimiser modèle avec quantization Q4_K_M +- [ ] Installer ComfyUI sur folzo-Corp pour génération images +- [ ] Configurer Home Assistant Tool si domotique +- [ ] Créer Skills pour tâches récurrentes + +--- + +## Liens Utiles + +- **Open WebUI** : http://192.168.1.27:3000 +- **Documentation complète** : `docs/04-depannage/openwebui-optimisation-top30.md` +- **Prompt système** : Modèle "Effi" dans Open WebUI +- **Workflow Git** : feature → PR → merge main sur Gitea + +--- + +## Architecture Actuelle + +``` +┌─────────────────────────────────────────────────────────┐ +│ effi-server (192.168.1.27) │ +│ ├─ Open WebUI :3000 (Interface principale) │ +│ ├─ Qdrant :6333 (Vector DB RAG) │ +│ ├─ N8N :5678 (Automatisation) │ +│ ├─ Whisper :8200 (STT) │ +│ ├─ Openedai-Speech :8100 (TTS - à réparer) │ +│ └─ Watchtower (Mise à jour auto) │ +└─────────────────────────────────────────────────────────┘ + │ + │ WOL + ▼ +┌─────────────────────────────────────────────────────────┐ +│ folzo-Corp (192.168.1.11) - Réveil à la demande │ +│ └─ Ollama :11434 (LLM - qwen3.5:9b 32K context) │ +│ └─ RX 7800 XT 16GB (Inference GPU) │ +└─────────────────────────────────────────────────────────┘ +``` + +--- + +**Dernière mise à jour :** 2026-04-05 +**Statut :** ✅ Configuration stable et optimisée