Initial commit: Documentation Effi v1.0
- Structure complète du projet - Docker compose de production - Documentation organisée par thèmes - Guides d'installation et configuration - Section dépannage détaillée - Journal historique
This commit is contained in:
@@ -0,0 +1,323 @@
|
||||
# ⚙️ Guide de Première Configuration
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
Ce guide couvre la configuration initiale d'OpenWebUI après l'installation, de la création du compte à la mise en place de la mémoire persistante.
|
||||
|
||||
---
|
||||
|
||||
## Étape 1 : Premier accès à OpenWebUI
|
||||
|
||||
### 1.1 Créer le compte administrateur
|
||||
|
||||
1. Ouvrir `http://192.168.1.27:3000` dans un navigateur
|
||||
2. Cliquer sur "Sign up"
|
||||
3. Créer un compte avec :
|
||||
- **Nom** : Folzo (ou votre nom)
|
||||
- **Email** : votre email
|
||||
- **Mot de passe** : mot de passe fort
|
||||
|
||||
**Note** : Le premier compte créé devient automatiquement administrateur.
|
||||
|
||||
---
|
||||
|
||||
## Étape 2 : Configuration des connexions
|
||||
|
||||
### 2.1 Connexion Ollama
|
||||
|
||||
**Admin Panel → Settings → Connections**
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| Ollama API URL | `http://192.168.1.27:3011` |
|
||||
| Verify Ollama API | ✅ Cocher |
|
||||
|
||||
Cliquer sur **Save** puis **Verify**.
|
||||
|
||||
### 2.2 Configuration Audio
|
||||
|
||||
**Admin Panel → Settings → Audio**
|
||||
|
||||
#### Paramètres STT (Speech-to-Text)
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| STT Engine | `OpenAI` |
|
||||
| STT OpenAI API URL | `http://192.168.1.11:8200/v1` |
|
||||
| STT Model | `deepdml/faster-whisper-large-v3-turbo-ct2` |
|
||||
| STT API Key | `anything` |
|
||||
|
||||
#### Paramètres TTS (Text-to-Speech)
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| TTS Engine | `OpenAI` |
|
||||
| TTS OpenAI API URL | `http://192.168.1.11:8100/v1` |
|
||||
| TTS Model | `tts-1` (Piper) ou `tts-1-hd` (XTTS) |
|
||||
| TTS Voice | `alloy` |
|
||||
|
||||
Cliquer sur **Save**.
|
||||
|
||||
### 2.3 Configuration RAG (Documents)
|
||||
|
||||
**Admin Panel → Settings → Documents**
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| Embedding Model Engine | `Ollama` |
|
||||
| Ollama Base URL | `http://192.168.1.27:3011` |
|
||||
| Embedding Model | `bge-m3:latest` |
|
||||
| Vector Database | `qdrant` |
|
||||
| Qdrant URL | `http://qdrant:6333` |
|
||||
|
||||
Cliquer sur **Save**.
|
||||
|
||||
---
|
||||
|
||||
## Étape 3 : Création du modèle Effi
|
||||
|
||||
### 3.1 Créer le modèle personnalisé
|
||||
|
||||
**Admin Panel → Models → + New Model**
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| Model Name | `Effi` |
|
||||
| Base Model | `qwen2.5:14b` |
|
||||
|
||||
Dans le champ **System Prompt**, coller :
|
||||
|
||||
```
|
||||
Tu es Effi, l'assistante IA locale de Folzo (Open WebUI + Ollama).
|
||||
|
||||
## Langue
|
||||
Réponds UNIQUEMENT en français, quelle que soit la langue utilisée.
|
||||
|
||||
## Personnalité
|
||||
- Chaleureuse, efficace, orientée solutions — une amie geek de confiance.
|
||||
- Humour fin : 0 à 1 vanne max par réponse, jamais forcée.
|
||||
- Ton conversationnel IRL, phrases courtes, pas de pavés.
|
||||
|
||||
## Priorités
|
||||
1. Répondre à la demande directement et clairement.
|
||||
2. Ajouter un conseil ou alternative si pertinent.
|
||||
3. Si ambigu → 1 à 3 questions courtes avant de proposer une solution.
|
||||
|
||||
## Règles strictes
|
||||
- Question simple → réponse courte (2–6 phrases) + 1 suggestion finale.
|
||||
- Action risquée (rm, format, firewall, suppression) → demande confirmation avant.
|
||||
- Ne sur-parle pas, pas de répétitions inutiles.
|
||||
|
||||
## Spécialités
|
||||
- Linux/Docker : commandes prêtes à copier + explication simple du "pourquoi".
|
||||
- Débogage : étape par étape, checks rapides d'abord.
|
||||
- Écriture : corrige en gardant le style de Folzo.
|
||||
|
||||
## Prise de notes
|
||||
Folzo utilise Obsidian. Si une note doit être créée, fournis le contenu formaté en Markdown prêt à copier.
|
||||
|
||||
## Mémoire
|
||||
N'invente pas de souvenirs. Les infos sur Folzo sont injectées automatiquement ci-dessous.
|
||||
<memory_user_context></memory_user_context>
|
||||
```
|
||||
|
||||
Cliquer sur **Save**.
|
||||
|
||||
---
|
||||
|
||||
## Étape 4 : Installation des filtres de mémoire
|
||||
|
||||
### 4.1 Installation d'Auto Memory
|
||||
|
||||
**Admin Panel → Functions → Discover**
|
||||
|
||||
1. Rechercher **"Auto Memory"** par **nokodo**
|
||||
2. Cliquer sur **Install**
|
||||
|
||||
### 4.2 Configuration d'Auto Memory
|
||||
|
||||
**Admin Panel → Functions → Auto Memory → ⚙️ (Settings)**
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| OpenAI API URL | `http://192.168.1.27:3011/v1` |
|
||||
| Model | `qwen2.5:3b` |
|
||||
| API Key | `toto` |
|
||||
| Messages To Consider | `10` |
|
||||
| Related Memories N | `5` |
|
||||
| Minimum Memory Similarity | `0.7` |
|
||||
| Override Memory Context | `OFF` |
|
||||
| Debug Mode | `OFF` |
|
||||
|
||||
**Activation** : Admin Panel → Functions → Auto Memory → ⋯ → Toggle Global → **ON**
|
||||
|
||||
### 4.3 Patch du code Auto Memory
|
||||
|
||||
Le filtre a besoin d'un patch pour gérer correctement les réponses JSON.
|
||||
|
||||
**Admin Panel → Functions → Auto Memory → ⋯ → Edit**
|
||||
|
||||
1. Chercher : `text_response = response.choices[0].message.content`
|
||||
2. Remplacer le bloc `if response_model:` par :
|
||||
|
||||
```python
|
||||
if response_model:
|
||||
try:
|
||||
cleaned = re.sub(r'```(?:json)?\s*', '', text_response)
|
||||
cleaned = re.sub(r'```\s*', '', cleaned).strip()
|
||||
match = re.search(r'\{.*\}', cleaned, re.DOTALL)
|
||||
if match:
|
||||
cleaned = match.group(0)
|
||||
return response_model.model_validate_json(cleaned)
|
||||
except ValidationError as e:
|
||||
self.log(f"response model validation error: {e}", level="warning")
|
||||
raise
|
||||
return text_response
|
||||
```
|
||||
|
||||
3. Chercher `UNIFIED_SYSTEM_PROMPT` et ajouter au début :
|
||||
|
||||
```python
|
||||
UNIFIED_SYSTEM_PROMPT = """IMPORTANT: Respond with ONLY valid JSON. No markdown formatting, no code blocks, no explanation text. Start your response directly with { and end with }. """ + UNIFIED_SYSTEM_PROMPT
|
||||
```
|
||||
|
||||
4. Cliquer sur **Save**
|
||||
|
||||
### 4.4 Installation de Memory Injection Filter
|
||||
|
||||
**Admin Panel → Functions → Discover**
|
||||
|
||||
1. Rechercher **"Memory Injection Filter"** par **Raphael**
|
||||
2. Cliquer sur **Install**
|
||||
|
||||
### 4.5 Configuration de Memory Injection
|
||||
|
||||
**Admin Panel → Functions → Memory Injection Filter → ⚙️**
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| PREPENDING_TEXT | `Voici les souvenirs à long terme de l'utilisateur :` |
|
||||
| SHOW_MEMORY_COUNT_EMITTER | `ON` |
|
||||
|
||||
**Activation** : Admin Panel → Functions → Memory Injection Filter → ⋯ → Toggle Global → **ON**
|
||||
|
||||
---
|
||||
|
||||
## Étape 5 : Tests de fonctionnement
|
||||
|
||||
### 5.1 Test de conversation basique
|
||||
|
||||
1. Créer un nouveau chat
|
||||
2. Sélectionner le modèle **Effi**
|
||||
3. Envoyer : `Bonjour Effi, comment vas-tu ?`
|
||||
|
||||
→ Effi devrait répondre en français avec sa personnalité configurée.
|
||||
|
||||
### 5.2 Test de mémoire
|
||||
|
||||
**Test d'enregistrement :**
|
||||
```
|
||||
Je collectionne les vinyles des années 80
|
||||
```
|
||||
|
||||
Vérifier dans la base SQLite :
|
||||
```bash
|
||||
docker cp open-webui:/app/backend/data/webui.db /tmp/webui.db
|
||||
sqlite3 /tmp/webui.db "SELECT content FROM memory ORDER BY created_at DESC LIMIT 3;"
|
||||
```
|
||||
|
||||
→ Le souvenir devrait apparaître.
|
||||
|
||||
**Test de restitution :**
|
||||
1. Créer un **nouveau chat** (important !)
|
||||
2. Demander : `Qu'est-ce que tu sais sur mes hobbies ?`
|
||||
|
||||
→ Effi devrait mentionner les vinyles sans que vous l'ayez redit.
|
||||
|
||||
### 5.3 Test audio (si configuré)
|
||||
|
||||
**Test STT :**
|
||||
- Cliquer sur l'icône micro dans OpenWebUI
|
||||
- Parler : "Bonjour Effi"
|
||||
- Vérifier que le texte est transcrit
|
||||
|
||||
**Test TTS :**
|
||||
- Activer la lecture vocale dans les paramètres du chat
|
||||
- Envoyer un message
|
||||
- Vérifier que la réponse est lue à voix haute
|
||||
|
||||
---
|
||||
|
||||
## Étape 6 : Configuration Obsidian LiveSync
|
||||
|
||||
### 6.1 Préparer CouchDB
|
||||
|
||||
```bash
|
||||
# Vérifier que CouchDB fonctionne
|
||||
curl http://192.168.1.27:5984
|
||||
|
||||
# Les bases devraient déjà être créées lors de l'installation
|
||||
# Si ce n'est pas le cas :
|
||||
curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/_users
|
||||
curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/_replicator
|
||||
curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/obsidian-livesync
|
||||
```
|
||||
|
||||
### 6.2 Configurer Obsidian
|
||||
|
||||
Dans l'application Obsidian :
|
||||
|
||||
1. **Paramètres → Communauté → Parcourir**
|
||||
2. Installer le plugin **Self-hosted LiveSync**
|
||||
3. Ouvrir les paramètres du plugin
|
||||
4. Configurer :
|
||||
- **URI** : `http://192.168.1.27:5984`
|
||||
- **Database** : `obsidian-livesync`
|
||||
- **Username** : `master`
|
||||
- **Password** : [votre mot de passe CouchDB]
|
||||
5. Cliquer sur **Test**
|
||||
6. Si OK, cliquer sur **Apply**
|
||||
7. Activer la synchronisation
|
||||
|
||||
---
|
||||
|
||||
## Étape 7 : Optimisations
|
||||
|
||||
### 7.1 Activer les mémoires globales
|
||||
|
||||
**Admin Panel → Settings → General**
|
||||
|
||||
- **Memories** : ✅ ON
|
||||
- **Memory Mode** : `User` ou `Global`
|
||||
|
||||
### 7.2 Configuration des modèles par défaut
|
||||
|
||||
**Admin Panel → Settings → Interface**
|
||||
|
||||
- **Default Model** : `Effi`
|
||||
- **Default Language** : `fr-FR`
|
||||
|
||||
### 7.3 Personnalisation de l'interface
|
||||
|
||||
**Admin Panel → Settings → Interface**
|
||||
|
||||
- Changer le thème (clair/sombre)
|
||||
- Configurer les raccourcis
|
||||
- Personnaliser le logo et les couleurs
|
||||
|
||||
---
|
||||
|
||||
## Félicitations !
|
||||
|
||||
Effi est maintenant complètement configuré et prêt à l'emploi !
|
||||
|
||||
### Prochaines étapes suggérées :
|
||||
|
||||
1. **Explorer n8n** : Créer des workflows d'automatisation
|
||||
2. **Configurer le RAG** : Uploader des documents pour enrichir les réponses
|
||||
3. **Personnaliser davantage** : Ajuster le system prompt selon vos préférences
|
||||
4. **Documentation** : Noter vos configurations dans Obsidian
|
||||
|
||||
### En cas de problème :
|
||||
|
||||
Consulter la section [Dépannage](../04-depannage/) pour les erreurs courantes et leurs solutions.
|
||||
Reference in New Issue
Block a user