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.