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.

Infrastructure

RAGVector DB + modèle d'embeddingNoRagFichiers Markdown simples

Ajout d'un document

RAGCoût récurrent (re-embed + stockage)NoRagUn seul passage Archiviste

Contexte fourni au LLM

RAGChunks arbitrairesNoRagSections complètes

Auditabilité

RAGVecteurs opaquesNoRagMarkdown versionné avec Git

Citations

RAGApproximativesNoRagPrécises [doc_id, section]

Qui corrige l'index ?

RAGData scientistNoRagTout dév qui lit le MD

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.

01

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
02

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 »
03

Multi-Corpus

Même question, agents différents, corpus distincts.

L1 : juriste, scope=contrats
L2 : analyste_technique, scope=doc_technique
04

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édit

data/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 --reload

Chat web

Copiez un prompt plugin dans ChatGPT, Claude, Gemini ou Grok. L1 uniquement.

norag/plugins/<provider>.md

Skill Claude Code

Utilisez /norag directement dans votre terminal. L1 + Multi_L, lit les fichiers locaux.

/norag <question>