Aller au contenu

L'architecture technologique de référence

La vision initiale proposait une application FastAPI/Next.js appuyée sur ChromaDB et Ollama. La refonte conserve l'esprit open source et le monolithe backend modulaire, mais sépare désormais clairement fabrication des connaissances, service applicatif, interfaces et exploitation.

Le système actuel

                         préparation hors ligne
Sources juridiques ──→ yisin-ia ──→ corpus / datasets / modèles
                                         │ manifestes versionnés
                                         ↓ lecture seule
Utilisateur ──→ yisin-web ──────────→ yisin-api ──→ Qdrant
                                         │
Opérateur ────→ yisin-admin ─────────────┤──→ fournisseur LLM
                                         │
                                         └──→ futures données applicatives

              yisin-infra exécute · yisin-docs transmet

Décisions actuelles

Sujet Choix historique Référence actuelle
Organisation backend + frontend dans dev-yisin six dépôts spécialisés
Base vectorielle ChromaDB Qdrant
Embeddings nomic-embed-text, puis bge-m3 multilingual-e5-large via FastEmbed, à évaluer
Corpus runtime copie JSONL manuelle artefact manifesté produit par yisin-ia
Backend FastAPI monolithique FastAPI modulaire dans yisin-api
Administration second frontend branché au monolithe client séparé, futures routes /admin/* contrôlées
Déploiement Compose dans le produit orchestration dédiée dans yisin-infra
Documentation fichiers dispersés site privé central yisin-docs

Qdrant est le choix implémenté pour le socle d'indexation. La fondation PostgreSQL est désormais câblée avec SQLAlchemy async, Alembic et une première table outbox. Redis est limité aux états temporaires et au futur transport des jobs. Une recherche plein texte PostgreSQL pourra compléter Qdrant si le benchmark démontre son intérêt.

Le backend reste un monolithe modulaire

Séparer les dépôts ne signifie pas créer immédiatement des microservices. yisin-api demeure le point d'entrée métier général. Ses modules internes — identité, conversations, runs, retrieval, génération, vérification, documents, facturation — doivent posséder des frontières testables dans un même déploiement tant qu'aucun goulot réel ne justifie une extraction.

Le corpus n'est pas une base applicative

yisin-ia fabrique et publie des artefacts immuables. yisin-api les valide et les consomme. Il ne modifie jamais les fichiers canoniques à la suite d'une requête utilisateur. Les retours et incidents entrent dans une file de revue séparée avant toute nouvelle version.

État du socle

La validation du manifeste, l'indexation Qdrant versionnée, les contrats HTTP initiaux et la fondation d'exécution B1 existent. Authentification, conversation persistante, run complet, fournisseur LLM et modules WEDOTO doivent être reconstruits dans le nouveau backend à partir des règles documentées — pas copiés aveuglément depuis l'ancien projet.