
Projet 30 - "Setup une instance personnelle d'Open WebUI connectée à OpenRouter"
Date de la création de cette note : 2025-06-12.
Quel est l'objectif de ce projet ?
Implémenter et déployer sur mon Homelab une instance Open WebUI connectée à OpenRouter pour un usage 100% personnel.
Autres projets en lien avec celui-ci
- Projet 20 - "Créer un POC d'un RAG"
- Projet 28 - "Publier un repository playground de déploiement de Open WebUI basé sur docker-compose.yml"
- Projet 29 - "Publier un repository playground de déploiement de Open WebUI sur un cluster Kubernetes"
Pourquoi je souhaite réaliser ce projet ?
En janvier 2025, j'ai écrit :
Essayer de remplacer les services ChatGPT ou Claude.ia par Open WebUI.
Open WebUI propose de nombreuses fonctionnalités que je trouve intéressantes et que j'aimerais utiliser.
Open WebUI me permet d'utiliser les divers modèles proposés par OpenRouter de manière centralisée.
Depuis mi avril, je travaille professionnellement sur un projet propulsé par Open WebUI. Ce projet 30 me permettra de progresser dans ma maitrise d'Open WebUI.
Liste de tâches
- [x] Me permettre de rapidement utiliser une instance d'Open WebUI localement pour mon usage quotidien :
- [x] Déployer sur ma workstation une instance d'Open WebUI basée sur mon travail réalisé dans le repository
open-webui-deployment-playground
. Brancher OpenRouter en complément de Scaleway Generative APIs.
- [x] Déployer sur ma workstation une instance d'Open WebUI basée sur mon travail réalisé dans le repository
- [x] Setup pgvector (lien vers la documentation)
- [x] Installation et configuration du service Open WebUI Pipelines.
- [x] Implémentation d'un pipeline de démontration nommé "Hello World"
- [ ] Setup des scripts de configuration as code de Open WebUI en utilisant son API
- [x] Création d'un user
- [x] Import / export de la configuration globale de OpenWebUI
- [ ] Configuration de la langue d'un user
- [ ] ...
- [x] Mise en place d'un script qui permet d'injecter des fichiers fonctions Open WebUI directement dans une instance OpenWebUI en cours d'exécution
- [ ] Configurer l'utilisation d'une monospaced font dans la zone de saisie des conversations
- [ ] Mettre au point quelques prompts que j'utilise régulièrement, par exemple pour de la reformulation de phrases, la correction de fautes d'orthographe, de la traduction de texte…
- [ ] Écrire et exécuter un script qui me permet d'injecter mon PKM (notes.sklein.xyz) dans pgvector
- [x] Setup la fonctionnalité RAG d'Open WebUI basé sur pgvector (lien vers la documentation)
- [x] Setup un Web Search (pour le moment basé sur l'API ouvert de DuckDuckGo)
- [ ] Setup la fonctionnalité d'évaluation
- [ ] Déployer cette instance sur mon Homelab et la rendre accessible de l'extérieur en IPv6 sur le domaine : https://openwebui.sklein.xyz (basé sur une méthode docker-compose.yml).
- [ ] Setup une protection contre le brute force sur la page de login
- [ ] Déployer cette instance sur une instance K3s sur mon Homelab
Repository de ce projet :
Ressources :