Sophia

Architecture générale


Schéma d'architecture générale de Sophia

image-1759053377657.png

Pour modifier l'image : https://onlyoffice.vincennes.fr/Products/Files/DocEditor.aspx?fileid=40912


L'architecture est basée sur la documentation d'openwebui : https://docs.openwebui.com/.


Tableau récapitulatif des conteneurs - visualisation par Portainer

Conteneur / Service
Stack / Origine
Rôle
Port hôte (local)
Port conteneur
URL d’accès depuis Sophia
openwebui
Sophia
Interface principale
3002
8080
https://sophia.vincennes.fr
qdrant
Sophia
Base vectorielle (RAG)
6333, 6334
6333, 6334
Interne (via API locale)
postgres
Sophia
Base de données d’application
5437
5432
Interne
sophia-nodered-openwebui-1
Sophia
Automatisation, intégration des services
1886
1880
http://sp26.vincennes.fr:1886
infomaniak-xinference-1
Infomaniak (tunnel SSH)
Tunnel vers xinference (reranking)
9995
9998
http://sp26.vincennes.fr:9995
infomaniak-docling-1
Infomaniak (tunnel SSH)
Tunnel vers docling (analyse de documents)
5002
5001
http://sp26.vincennes.fr:5002
infomaniak-portainer_agent-1
Infomaniak (tunnel SSH)
Agent Portainer pour supervision distante
9002
9001
Interne (gestion Docker)
searxng
ia-app
Moteur de recherche web
8056
8080
Via Node-RED (recherche)
firecrawl-api-1
firecrawl
Analyse de pages web (scraping intelligent)
3003
3002
http://sp26.vincennes.fr:3003
docling (VM Infomaniak)
-
Analyse de documents (PDF, etc.)
5001
5001
Accès distant (via tunnel SSH depuis SP26:5002)
xinference (VM Infomaniak)
-
Modèle de reranking (bge-reranker-v2-m3)
9997
9997
Accès distant (via tunnel SSH depuis SP26:9995)
portainer_agent (VM Infomaniak)
-
Agent Docker pour supervision
9001
9001
Accès distant (via tunnel SSH depuis SP26:9002)


Réglages dans l’interface administrateur - visualisation par Openwebui

1. Menu Connexions


2. Menu Documents


3. Menu Recherche web


4. Menu Interface utilisateur


5. Menu Audio


6. Menu Images


Vérification du bon fonctionnement

Voici une checklist de vérification du bon fonctionnement du système, suivie d’un tableau récapitulatif des problèmes possibles en cas d’indisponibilité.


Checklist de vérification du bon fonctionnement

Élément à vérifier Procédure de vérification Statut (✓/✗)
1. Containers dans Portainer Accéder à l’interface Portainer et s’assurer que tous les conteneurs sont en état "Running" :
- openwebui, qdrant, postgres, sophia-nodered-openwebui-1
- infomaniak-xinference-1, infomaniak-docling-1, infomaniak-portainer_agent-1
- searxng, firecrawl-api-1 (et les containers de la stack firecrawl)

2. Interface Sophia (OpenWebUI) Accéder à : https://sophia.vincennes.fr
→ Vérifier que la page charge correctement et que l’interface est interactive.

3. Interface Node-RED Accéder à : http://sp26.vincennes.fr:1886
→ Vérifier que l’éditeur s’ouvre et que les flux sont actifs.

4. Firecrawl (API et message par défaut) Accéder à : http://sp26.vincennes.fr:3003
→ Vérifier que la réponse "SCRAPERS-JS: Hello, world! K8s! "s’affiche.

5. Interface Docling Accéder à : http://sp26.vincennes.fr:5002/ui
→ Vérifier que l’interface utilisateur de Docling est accessible.

6. XInference et modèle de reranking 1. Accéder à l’interface XInference via le tunnel : http://sp26.vincennes.fr:9995
2. Vérifier que le modèle bge-reranker-v2-m3 est chargé et en cours d’exécution dans la section /reranker.

7. SearXNG Accéder à : http://sp26.vincennes.fr:8056
→ Vérifier que l’interface de recherche s’affiche.
→ Effectuer une recherche test (ex: "test").

8. Endpoint OpenAI Depuis l’interface Sophia (Menu Images) :
→ Lancer une génération d’image.
→ Vérifier que la requête atteint OpenAI et retourne une image.

9. Endpoints Infomaniak (via Node-RED) Vérifier dans les menus Sophia :
- Connexions : état des endpoints texte/audio/image
- Documents, Audio, Recherche : que les appels passent via http://sp26.vincennes.fr:1886
→ Vérifier les logs Node-RED en cas d’erreur.

10. Logs des conteneurs de tunnel SSH Vérifier les logs des conteneurs suivants dans Portainer :
- infomaniak-xinference-1
- infomaniak-docling-1
- infomaniak-portainer_agent-1
→ Rechercher des erreurs de connexion SSH, timeout ou refus.
→ S’assurer que la VM Infomaniak est joignable (ping ou test de connexion réseau).


⚠️ Tableau des problèmes possibles en cas d’indisponibilité

Service indisponible Symptôme observé Cause probable Impact fonctionnel
Conteneur non démarré dans Portainer Interface inaccessible, erreur 502/503 Conteneur crashé, mauvaise configuration, dépendance manquante Blocage total du service associé
Sophia (OpenWebUI) Page blanche, erreur de chargement Problème réseau, conteneur down, certificat SSL expiré Interface principale inutilisable
Node-RED Éditeur inaccessible ou flux inactifs Conteneur down, erreur dans un flux critique Toutes les intégrations (recherche, audio, embedding) bloquées
Firecrawl API ne répond pas ou timeout Conteneur down, VM surchargée, erreur de scraping Impossible d’extraire du contenu web pour les recherches
Docling /ui inaccessible ou erreur 500 Tunnel SSH rompu, service Docling arrêté sur Infomaniak Analyse des documents PDF/HTML impossible
XInference / bge-reranker-v2-m3 Modèle non chargé ou erreur 404/500 Modèle non démarré, mémoire insuffisante, tunnel SSH défaillant Détérioration de la qualité des réponses (RAG)
SearXNG Page de recherche inaccessible Conteneur down ou configuration réseau incorrecte Recherche web impossible via Sophia
Endpoint OpenAI Génération d’image échoue Clé API invalide, réseau bloqué, quota dépassé Fonctionnalité d’image inactive
Endpoints Infomaniak Erreurs dans les menus Sophia (Connexions, Audio, etc.) Tunnel SSH rompu, VM éteinte, problème d’authentification Toutes les fonctions IA distantes (transcription, embedding) inactives
Logs des tunnels SSH Messages répétés : Connection refused, Broken pipe, Failed to connect VM Infomaniak éteinte, firewall, clé SSH expirée, réseau instable Perte de contrôle et de données vers les services distants

🔍 Recommandation : Cette checklist peut être utilisée quotidiennement ou après chaque déploiement/mise à jour. En cas d’indisponibilité, consulter en priorité les logs des conteneurs de tunnel SSH et vérifier la connectivité réseau vers la VM Infomaniak.




Redémarrage de la VM GPU sur Infomaniak

Aller sur https://api.pub2.infomaniak.cloud/horizon/project/

Les identifiants sont dans psono "Infomaniak openstack / Horizon"

Puis sur la page https://api.pub2.infomaniak.cloud/horizon/project/instances/

Une seule instance est configurée : "whisperx".

image-1759050675335.png

Dans le cas où la VM présentera un problème de blocage persistant, elle peut être redémarrée via l'option disponible en bout de ligne : "Redémarrer matériellement l'instance".

Le redémarrage prend 2 à 3 minutes.

Une fois relancée, les containers réapparaissent fonctionnels sur Portainer / Infomaniak.

Les accès à docling et xinference doivent être vérifiés (voir points 5 et 6 de https://formagent.vincennes.fr/books/intelligence-artificielle/page/verification-du-bon-fonctionnement).