| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
sync-openwebui.yml / Merge pull request 'docs: simplifier les instructions des agents' (#2) from docs/simplify-agents into main (push) Failing after 0s
Reviewed-on: #2 |
||
| .forgejo/workflows | ||
| docs | ||
| AGENTS.md | ||
| README.md | ||
rag-workflows
Workflows Forgejo Actions réutilisables pour synchroniser des dépôts Git vers des Knowledge Bases Open WebUI.
Le dépôt fournit actuellement :
.forgejo/workflows/sync-openwebui.yml
Ce workflow permet :
- une synchronisation incrémentale avec
oikb; - une reconstruction complète d'une Knowledge Base ;
- l'utilisation normale du backend d'embedding CPU ;
- une bascule temporaire sur la Radeon 7900 XTX pour les ingestions lourdes ;
- la restauration automatique du backend CPU après une ingestion GPU.
Principe
dépôt documentaire
|
| push sur main
v
workflow appelant
|
v
rag/rag-workflows
|
v
runner Forgejo rag-ingestion
|
+--> Open WebUI
|
+--> oikb
|
+--> Ollama CPU ou 7900 XTX
Git reste la source de vérité des documents synchronisés.
Paramètres
Le reusable workflow accepte :
rag_path
répertoire du dépôt contenant les documents à synchroniser
kb_id
UUID de la Knowledge Base Open WebUI
ingestion_compute
cpu
gpu
mode
incremental
rebuild
Valeurs par défaut :
ingestion_compute = cpu
mode = incremental
Choix du mode
CPU
À utiliser pour les synchronisations légères ou habituelles :
ingestion_compute: cpu
Open WebUI conserve son backend d'embedding CPU normal.
GPU
À utiliser pour les corpus importants ou les reconstructions coûteuses :
ingestion_compute: gpu
Le workflow :
- vérifie que le backend initial est le CPU ;
- sauvegarde la configuration d'embedding Open WebUI ;
- remplace temporairement l'endpoint Ollama par la 7900 XTX ;
- effectue la synchronisation ;
- restaure la configuration CPU dans une étape
always().
Le modèle d'embedding n'est pas imposé par le workflow. Il reste administré dans Open WebUI.
Choix de la synchronisation
Incrémentale
mode: incremental
Exécute :
oikb sync
Reconstruction
mode: rebuild
Exécute :
oikb reset --yes
oikb sync
La reconstruction supprime donc le contenu synchronisé de la KB avant de le reconstruire depuis Git.
Runner
Les jobs utilisent exclusivement :
runs-on: rag-ingestion
Le runner rag-ingestion est global dans Forgejo et possède :
capacity: 1
Un seul runner actif doit exposer ce label.
Cette contrainte sérialise les ingestions entre les différents dépôts et empêche deux workflows de modifier simultanément la configuration globale d'embedding Open WebUI.
Le label rag-ingestion est réservé aux dépôts utilisant cette infrastructure RAG.
Secret requis
Le workflow attend :
OPEN_WEBUI_API_KEY
Le secret est transmis par le dépôt appelant avec :
secrets: inherit
Il doit permettre :
- l'accès à la Knowledge Base ;
- l'utilisation de
oikb; - la lecture et la modification de la configuration d'embedding Open WebUI.
Le secret ne doit jamais être stocké dans Git.