Recherche · code ouvert
NoRag
Interrogez vos docs sans limites. Des réponses traçables — sections complètes, citations exactes. Pas de vector DB, pas d'API d'embedding, aucun coût récurrent.
Pourquoi pas le RAG ?
Les vecteurs sont opaques, les chunks arbitraires, et l'ingestion coûte en continu. NoRag remplace toute la stack par du Markdown que le LLM lit directement.
| Critère | RAG | NoRag |
|---|---|---|
| Infrastructure | Vector DB + modèle d'embedding | Fichiers Markdown simples |
| Ajout d'un document | Coût récurrent (re-embed + stockage) | Un seul passage Archiviste |
| Contexte fourni au LLM | Chunks arbitraires | Sections complètes |
| Auditabilité | Vecteurs opaques | Markdown versionné avec Git |
| Citations | Approximatives | Précises [doc_id, section] |
| Qui corrige l'index ? | Data scientist | Tout dév qui lit le MD |
Infrastructure
Ajout d'un document
Contexte fourni au LLM
Auditabilité
Citations
Qui corrige l'index ?
L1 — deux appels, c'est tout.
Appel 1 : un petit modèle lit la question, le catalogue de documents et le catalogue d'agents. Il choisit un agent et les sections pertinentes. Appel 2 : l'agent sélectionné lit ces sections et répond avec des citations.
Question
Router (SLM)
→ agent + docs
Réponse (LLM)
[doc_id, section]
sortie du Router
{
"agent_id": "juriste_conformite",
"documents": [
{ "doc_id": "contrat_acme", "sections": ["art_7", "annexe_A"] }
],
"reasoning": "Question de rétention contractuelle → juriste + clauses SLA"
}Multi_L — parallèle, puis synthétisé.
Un Planificateur distribue N couches L1 — agents différents, sous-questions ou corpus distincts. L'Agrégateur nomme les contradictions et rédige la synthèse.
Planificateur (SLM)
émet N plans de couches
Couche 1
L1 → réponse + citations
Couche 2
L1 → réponse + citations
Couche 3
L1 → réponse + citations
Agrégateur (LLM)
synthèse · citations préservées · contradictions nommées
Quatre presets. Même moteur.
Configurez Multi_L pour votre cas d'usage en choisissant un preset — ou laissez le Planificateur décider.
Multi-Agent
Même question, agents différents. Perspectives croisées en une seule réponse.
Couche 1: juriste_conformite Couche 2: analyste_technique Couche 3: analyste_finance
Décomposition
Découpe la question en sous-questions routées indépendamment.
L1 : « Stratégie cloud AWS 2020-2024 » L2 : « Stratégie cloud Azure 2020-2024 »
Multi-Corpus
Même question, agents différents, corpus distincts.
L1 : juriste, scope=contrats L2 : analyste_technique, scope=doc_technique
Hybride / Auto
Le Planificateur combine librement agents, sous-questions et corpus.
Laisser le Planificateur décider.
Sous le capot.
Deux fichiers Markdown. C'est toute la « base de données ». Versionnable avec Git, lisible par tous, zéro infra.
data/index.md
## contrat_saas_acme
- **Titre** : Contrat SaaS — Acme Technologies
- **Résumé** : Accord B2B SaaS couvrant SLA,
rétention des données, et sécurité.
- **Sections** :
- `art_7` — Rétention données
mots-clés : rétention, RGPD, purge, 90 jours
- `annexe_A` — SLA et disponibilité
mots-clés : SLA, uptime, 99.9%, créditdata/index_system_prompt.md
## juriste_conformite **Description** : expert juridique B2B (contrats, RGPD, SLA). **Quand l'utiliser** : clauses, rétention, DPA, SLA. **System prompt** : > Tu es juriste senior. Tu cites > [doc_id, section] systématiquement.
Commencer.
Trois façons de l'utiliser, du terminal au chat web. Le dépôt contient le code, les benchmarks et les prompts.
API
L1 + Multi_L complets via FastAPI. Tout client, tout langage.
uvicorn api.main:app --reloadChat web
Copiez un prompt plugin dans ChatGPT, Claude, Gemini ou Grok. L1 uniquement.
norag/plugins/<provider>.mdSkill Claude Code
Utilisez /norag directement dans votre terminal. L1 + Multi_L, lit les fichiers locaux.
/norag <question>