No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
david 1d764161cb
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
Merge pull request 'docs: simplifier les instructions des agents' (#2) from docs/simplify-agents into main
Reviewed-on: #2
2026-09-16 11:51:11 +00:00
.forgejo/workflows feat: automatiser les embeddings GPU 2026-08-30 23:04:18 +02:00
docs docs: documenter les workflows RAG 2026-08-30 23:39:20 +02:00
AGENTS.md docs: simplifier les instructions des agents 2026-09-16 13:49:57 +02:00
README.md docs: documenter les workflows RAG 2026-08-30 23:39:20 +02:00

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 :

  1. vérifie que le backend initial est le CPU ;
  2. sauvegarde la configuration d'embedding Open WebUI ;
  3. remplace temporairement l'endpoint Ollama par la 7900 XTX ;
  4. effectue la synchronisation ;
  5. 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.

Documentation