En production chez Accor — plus de 8 000 utilisateurs In production at Accor — 8,000+ users

Vos documents deviennent
une connaissance interrogeable.
Sur votre infrastructure.

Turn your documents into
knowledge you can query.
On your infrastructure.

NeoRAG est une plateforme RAG d'entreprise complète : ingestion documentaire, recherche hybride, knowledge graph, extraction structurée. Elle s'installe dans votre datacenter ou votre cloud privé, et aucune donnée n'en sort.

NeoRAG is a complete enterprise RAG platform: document ingestion, hybrid retrieval, knowledge graphs, structured extraction. It installs in your own datacentre or private cloud, and no data ever leaves it.

8 000+ 8,000+ utilisateurs en production users in production
10 stratégies de recherche retrieval strategies
150+ endpoints REST REST endpoints
100 % 100% on-premise possible on-premise capable

Ils nous font confiance

Trusted by

Accor E.Leclerc

Accor

8 000+ 8,000+

utilisateurs servis en production. NeoRAG est déployé à l'échelle du groupe : ingestion documentaire continue, recherche transverse et réponses sourcées, sur une infrastructure maîtrisée par le client.

users served in production. NeoRAG is deployed at group scale: continuous document ingestion, cross-corpus retrieval and sourced answers, on infrastructure the customer controls.

Échelle groupe Group scale Multi-bases Multi knowledge base Réponses sourcées Sourced answers

E.Leclerc

Factures & RH Invoices & HR

Extraction structurée en production. Les factures sont converties en données exploitables selon un schéma JSON contrôlé ; les dossiers RH sont indexés et interrogeables, avec cloisonnement par base de connaissances.

Structured extraction in production. Invoices are turned into usable data against a controlled JSON schema; HR records are indexed and searchable, isolated per knowledge base.

Extraction structurée Structured extraction OCR Schémas JSON JSON schemas

La plateforme

The platform

Une chaîne complète, du fichier brut à la réponse sourcée

One chain, from raw file to sourced answer

NeoRAG n'est pas une brique isolée à intégrer : c'est la chaîne entière — traitement documentaire, vectorisation, graphe de connaissances, recherche, génération, exposition API — livrée sous forme de plateforme que vous exploitez vous-même.

NeoRAG is not a component to wire up: it is the whole chain — document processing, vectorisation, knowledge graph, retrieval, generation, API surface — shipped as a platform you run yourself.

Sources

Sources

  • PDF, DOCX, XLSX, TXT, HTML, MD
  • Archives ZIP, lots de fichiers
  • ZIP archives, file batches
  • Pages web & crawl cadré
  • Web pages & scoped crawl
  • Vidéo & audio
  • Video & audio
  • Capture navigateur (extension)
  • Browser capture (extension)

NeoRAG

  • Processeurs & OCR
  • Processors & OCR
  • Chunking
  • Chunking
  • Embeddings (texte + image)
  • Embeddings (text + image)
  • Index vectoriel & BM25
  • Vector index & BM25
  • Arbres RAPTOR
  • RAPTOR trees
  • Knowledge graph
  • Knowledge graph
  • Réécriture de requête
  • Query rewriting
  • Reranking & génération
  • Reranking & generation

Points d'accès

Surfaces

  • API REST + streaming SSE
  • REST API + SSE streaming
  • Serveur MCP (agents IA)
  • MCP server (AI agents)
  • SDK Python
  • Python SDK
  • Nœud n8n, Dify
  • n8n node, Dify
  • Webhooks
  • Webhooks
  • Portail web NeoRAG
  • NeoRAG web portal

Capacités

Capabilities

Tout ce que la plateforme sait faire

Everything the platform does

Chaque brique est configurable par base de connaissances et remplaçable : l'architecture est modulaire, les stratégies sont chargées dynamiquement.

Every block is configurable per knowledge base and swappable: the architecture is modular and strategies are loaded dynamically.

01

Ingestion & compréhension documentaire

Ingestion & document understanding

Le pipeline est choisi automatiquement selon le type et le contenu du document, ou imposé explicitement.

The pipeline is picked automatically from document type and content, or pinned explicitly.

  • Processeurs : Docling et Docling-fast, Kreuzberg, Mistral OCR, Gemini Vision, OpenAI, PaddleOCR-VL, Qwen-VL, Excel, Crawl4AI (web), vidéo, ZIP.
  • Processors: Docling and Docling-fast, Kreuzberg, Mistral OCR, Gemini Vision, OpenAI, PaddleOCR-VL, Qwen-VL, Excel, Crawl4AI (web), video, ZIP.
  • OCR & mise en page : extraction de tableaux, détection de figures, extraction sensible au layout, images de page conservées.
  • OCR & layout: table extraction, figure detection, layout-aware text, page images retained.
  • 12 stratégies de découpage : overlapped/recursive, hiérarchique, sémantique, late-semantic, résumé de page, extraction de questions, docling hybride, docling hiérarchique, markdown, adaptatif, content-aware, transcript vidéo.
  • 12 chunking strategies: overlapped/recursive, hierarchical, semantic, late-semantic, page summarisation, question extraction, docling hybrid, docling hierarchical, markdown, adaptive, content-aware, video transcript.
  • Séparation de documents : un fichier multi-dossiers est identifié et découpé en sous-documents logiques, puis classifié.
  • Document splitting: a multi-document file is detected, split into logical sub-documents and classified.
  • Excel : conversion en JSON préservant l'intégralité du contenu du classeur d'origine.
  • Excel: conversion to JSON preserving the full content of the original workbook.
  • Vidéo & audio : transcription locale Whisper, diarisation des locuteurs (Pyannote), détection automatique de langue (99+), exécution CUDA / MPS / CPU.
  • Video & audio: local Whisper transcription, speaker diarisation (Pyannote), automatic language detection (99+), CUDA / MPS / CPU execution.
  • Web : scraping et crawl cadré — page unique, multi-pages avec profondeur configurable, ou lot d'URL.
  • Web: scraping and scoped crawl — single page, multi-page with configurable depth, or URL batch.
  • Embedding multimodal : les images de page sont vectorisées à côté du texte (Gemini Embedding 2), une requête textuelle retrouve une page visuellement pertinente. Dimensionnalité Matryoshka, routage task_type document/requête.
  • Multimodal embedding: page images are embedded alongside text (Gemini Embedding 2), so a text query retrieves a visually relevant page. Matryoshka dimensionality, task_type document/query routing.
  • Embedding parallèle : traitement multi-thread, taille de lot configurable, validation des textes et reprise sur erreur.
  • Parallel embedding: multi-threaded processing, configurable batch size, text validation and error recovery.
02

Moteur de recherche & RAG

Retrieval & RAG engine

Dix stratégies de récupération, six réécritures de requête, combinables et réglables base par base.

Ten retrieval strategies, six query-rewriting techniques, combinable and tunable per knowledge base.

  • Stratégies : hybrid (sémantique + lexical), bm25, reranker, adaptive, parent_child, multi_vector, raptor, cag, knowledge_graph, agentic.
  • Strategies: hybrid (semantic + lexical), bm25, reranker, adaptive, parent_child, multi_vector, raptor, cag, knowledge_graph, agentic.
  • Réécriture de requête : Multi-Query (RRF), HyDE, Step-Back, décomposition, RAG Fusion, raffinement.
  • Query rewriting: Multi-Query (RRF), HyDE, Step-Back, decomposition, RAG Fusion, refinement.
  • BM25 dédié : index lexical construit, inspecté et supprimé par base, paramètres k1 / b réglables, fusion avec le sémantique par RRF ou pondération.
  • Dedicated BM25: lexical index built, inspected and dropped per knowledge base, tunable k1 / b, merged with the semantic side through RRF or weighting.
  • RAPTOR : arbres hiérarchiques de résumés récursifs, profondeur, clustering et résumé configurables, statistiques par base.
  • RAPTOR: hierarchical trees of recursive summaries, configurable depth, clustering and summarisation, per-knowledge-base statistics.
  • CAG : le document entier est placé dans le contexte, pour la synthèse ou les questions complexes sur peu de documents.
  • CAG: the whole document goes into context, for summarisation or complex questions over few documents.
  • Filtrage métadonnées : 14 opérateurs (is, contains, not_contains, empty, before, after, greater_than…) combinables en ET / OU sur les métadonnées documentaires.
  • Metadata filtering: 14 operators (is, contains, not_contains, empty, before, after, greater_than…) combined with AND / OR over document metadata.
  • Prompt système : défini par base de connaissances, surchargeable requête par requête — ton, langue, format de réponse.
  • System prompt: set per knowledge base, overridable per request — tone, language, answer format.
  • Streaming : réponses incrémentales en SSE, plus historique des requêtes et sources citées à chaque réponse.
  • Streaming: incremental SSE responses, plus query history and cited sources on every answer.
03

Knowledge graph & extraction structurée

Knowledge graph & structured extraction

Le corpus ne se réduit pas à des vecteurs : NeoRAG en extrait aussi des entités, des relations et des données typées.

A corpus is more than vectors: NeoRAG also extracts entities, relationships and typed data from it.

  • Graphe : Apache AGE intégré à PostgreSQL, ou Neo4j — le fournisseur est abstrait derrière un pilote commun.
  • Graph: Apache AGE embedded in PostgreSQL, or Neo4j — the provider sits behind a common driver abstraction.
  • Extraction entités / relations pilotée par LLM, à partir des documents indexés.
  • Entity / relationship extraction driven by an LLM over indexed documents.
  • Navigation : parcours du graphe, recherche de chemins entre entités, inspection des métadonnées, visualisation dans le portail.
  • Navigation: graph traversal, path finding between entities, metadata inspection, visualisation in the portal.
  • Recherche augmentée par le graphe : la stratégie knowledge_graph enrichit les résultats du contexte relationnel.
  • Graph-augmented retrieval: the knowledge_graph strategy enriches results with relational context.
  • Extraction structurée : sortie JSON conforme à un schéma que vous définissez (JSON Schema / OpenAPI), gérée via l'API — c'est le mécanisme qui traite les factures chez E.Leclerc.
  • Structured extraction: JSON output conforming to a schema you define (JSON Schema / OpenAPI), managed through the API — the same mechanism that processes invoices at E.Leclerc.
  • Schémas réutilisables : catalogue de schémas d'extraction versionnés, applicables à l'ingestion ou a posteriori.
  • Reusable schemas: a catalogue of extraction schemas, applied at ingestion time or retroactively.
04

Gouvernance, sécurité & exploitation

Governance, security & operations

Conçu pour un déploiement groupe : cloisonnement, traçabilité et supervision font partie du produit.

Built for group-wide deployment: isolation, traceability and monitoring are part of the product.

  • Bases de connaissances isolées : autant que nécessaire, chacune avec son modèle d'embedding, sa stratégie, ses réglages RAPTOR et graphe.
  • Isolated knowledge bases: as many as needed, each with its own embedding model, strategy, RAPTOR and graph settings.
  • Utilisateurs & équipes : comptes, équipes, partage de bases, contrôle d'accès par liste de credentials, visibilité publique ou privée par base.
  • Users & teams: accounts, teams, knowledge-base sharing, credential-list access control, public or private visibility per base.
  • Authentification : JWT, clés API révocables, protection CSRF, limitation de débit configurable par endpoint.
  • Authentication: JWT, revocable API keys, CSRF protection, per-endpoint rate limiting.
  • Licence entreprise : signature RSA-4096, modes d'application et période de grâce, statut consultable côté administration.
  • Enterprise licensing: RSA-4096 signature, enforcement modes and grace period, status visible from the admin surface.
  • Administration : statut de licence, consommation de tokens, statistiques de rate limit, métriques système, optimisation de l'index vectoriel.
  • Administration: license status, token consumption, rate-limit statistics, system metrics, vector index optimisation.
  • Supervision : sondes de santé (base, pool de connexions, état détaillé), logs structurés, mesure du temps de réponse, événements Celery, traçage Langfuse sur l'API et sur les workers.
  • Monitoring: health probes (database, connection pool, detailed status), structured logs, request timing, Celery events, Langfuse tracing across API and workers.
  • Traitement asynchrone : file Celery + Redis, suivi de tâches, notifications WebSocket en temps réel, webhooks par base (URL, secret, méthode HTTP).
  • Asynchronous processing: Celery + Redis queue, task tracking, real-time WebSocket updates, per-knowledge-base webhooks (URL, secret, HTTP method).
05

Intégrations & API

Integrations & API

Tout ce que fait le portail est accessible par API. NeoRAG s'insère dans l'existant plutôt que de le remplacer.

Everything the portal does is available over the API. NeoRAG fits into what you already run instead of replacing it.

  • API REST : plus de 150 endpoints — bases, documents, requêtes, graphe, extraction, schémas, tâches, équipes, webhooks, administration.
  • REST API: 150+ endpoints — knowledge bases, documents, queries, graph, extraction, schemas, tasks, teams, webhooks, administration.
  • Serveur MCP : Model Context Protocol en transport HTTP streamable, mode stateless compatible multi-worker, plus un bundle .mcpb téléchargeable — vos agents interrogent NeoRAG nativement.
  • MCP server: Model Context Protocol over streamable HTTP, stateless mode safe across workers, plus a downloadable .mcpb bundle — your agents query NeoRAG natively.
  • Dify : endpoint External Knowledge API conforme, avec authentification Bearer, recherche sémantique et filtrage métadonnées.
  • Dify: compliant External Knowledge API endpoint, with Bearer authentication, semantic search and metadata filtering.
  • OpenWebUI : endpoint /queries/sources qui renvoie les passages pertinents sans générer de réponse — la génération reste côté client, avec le modèle de votre choix.
  • OpenWebUI: a /queries/sources endpoint returning the relevant passages without generating an answer — generation stays client-side, with the model of your choosing.
  • Clients : SDK Python (asynchrone et synchrone), nœud n8n pour l'automatisation, extension Chrome pour capturer une page directement dans une base.
  • Clients: Python SDK (async and sync), n8n node for workflow automation, Chrome extension to capture a page straight into a base.
  • Fournisseurs LLM : OpenAI, Anthropic, Mistral, Google Gemini, Groq, Ollama, tout proxy compatible LiteLLM, et Sponge Theory — notre inférence GPU auto-hébergée.
  • LLM providers: OpenAI, Anthropic, Mistral, Google Gemini, Groq, Ollama, any LiteLLM-compatible proxy, and Sponge Theory — our self-hosted GPU inference.
  • Embeddings : OpenAI, Gemini Embedding 2, Mistral, Jina, Sentence-Transformers HuggingFace. Découverte automatique des modèles et de leur tarification.
  • Embeddings: OpenAI, Gemini Embedding 2, Mistral, Jina, HuggingFace Sentence-Transformers. Automatic discovery of available models and their pricing.
  • Portail web : React 19, TypeScript, shadcn/ui — gestion des bases, dépôt de documents, requêtes interactives, visualisation du graphe, suivi de traitement en direct.
  • Web portal: React 19, TypeScript, shadcn/ui — base management, document upload, interactive querying, graph visualisation, live processing status.
06

Souveraineté & déploiement

Sovereignty & deployment

Le logiciel vient chez vous, pas l'inverse. Aucune dépendance à un SaaS pour fonctionner.

The software comes to you, not the other way round. No SaaS dependency to operate.

  • Où vous voulez : datacenter interne, cloud privé, cloud public sous votre compte. Docker, Docker Compose, Docker Swarm, AWS ECS.
  • Wherever you want: internal datacentre, private cloud, public cloud under your own account. Docker, Docker Compose, Docker Swarm, AWS ECS.
  • Socle : PostgreSQL avec pgvector et Apache AGE, Redis, MinIO ou tout stockage compatible S3, Celery, FastAPI sur Python 3.12, Gunicorn + Uvicorn.
  • Stack: PostgreSQL with pgvector and Apache AGE, Redis, MinIO or any S3-compatible storage, Celery, FastAPI on Python 3.12, Gunicorn + Uvicorn.
  • Modèles locaux : avec Ollama ou la stack GPU Sponge Theory, aucun appel ne sort de votre réseau — traitement documentaire, embeddings et génération restent internes.
  • Local models: with Ollama or the Sponge Theory GPU stack, no call leaves your network — document processing, embeddings and generation all stay in-house.
  • Séparation CPU / GPU : les workers lourds (OCR, transcription, embeddings) se déploient sur des nœuds GPU dédiés, indépendamment de l'API.
  • CPU / GPU separation: heavy workers (OCR, transcription, embeddings) deploy on dedicated GPU nodes, independently of the API.
  • Montée en charge : services sans état derrière un répartiteur, workers horizontalement extensibles, migrations de schéma versionnées.
  • Scaling: stateless services behind a load balancer, horizontally scalable workers, versioned schema migrations.
  • Vos données restent vos données : pas de télémétrie produit imposée, pas de corpus renvoyé chez l'éditeur, pas d'entraînement sur vos documents.
  • Your data stays yours: no mandatory product telemetry, no corpus sent back to the vendor, no training on your documents.

Interface

Interface

Une API que vos équipes savent déjà utiliser

An API your teams already know how to use

REST, JSON, clés API, schéma OpenAPI. La même requête se lance depuis un terminal, un notebook, un workflow n8n ou un agent MCP.

REST, JSON, API keys, OpenAPI schema. The same query runs from a shell, a notebook, an n8n workflow or an MCP agent.

# Requête RAG hybride, filtrée sur les métadonnées / Hybrid RAG query,
# filtered on document metadata
curl -X POST https://neorag.votre-domaine.example/api/v1/queries \
  -H "X-API-Key: $NEORAG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "knowledge_base_ids": ["a1b2c3d4-e5f6-7890-abcd-1234567890ab"],
    "query": "Quel est le montant total facturé au T3 par le fournisseur ACME ?",
    "query_strategy": "hybrid",
    "top_k": 8,
    "include_sources": true,
    "enable_query_rewriting": true,
    "rewrite_strategy": "step_back",
    "metadata_filter": {
      "logical_operator": "and",
      "conditions": [
        { "name": ["doc_type"],  "comparison_operator": "is",    "value": "invoice" },
        { "name": ["issued_at"], "comparison_operator": "after", "value": "2026-07-01" }
      ]
    }
  }'
import json, os
from spt_neo_rag_client import NeoRagClient

client = NeoRagClient(
    base_url="https://neorag.votre-domaine.example",
    api_key=os.environ["NEORAG_API_KEY"],
)

# Streaming : les jetons arrivent au fil de l'eau, le dernier
# événement porte les sources citées.
# Streaming: tokens arrive as they are produced; the final event
# carries the cited sources.
async for raw in client.stream_query(
    query="Résume la politique de télétravail et cite les sources.",
    knowledge_base_id="a1b2c3d4-e5f6-7890-abcd-1234567890ab",
    query_strategy="raptor",
    include_sources=True,
    query_config={
        "system_prompt": "Réponds en français, en trois points maximum."
    },
):
    event = json.loads(raw)
    if event["done"]:
        for source in event.get("sources", []):
            print("\n—", source["document_name"])
    else:
        print(event["chunk"], end="")
# Extraction structurée pilotée par schéma — le cas facture
# Schema-driven structured extraction — the invoice case
curl -X POST https://neorag.votre-domaine.example/api/v1/structured-schemas \
  -H "X-API-Key: $NEORAG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "invoice_v3",
    "description": "Facture fournisseur / Supplier invoice",
    "document_type": "invoice",
    "metadata_fields": ["supplier", "invoice_number", "issued_at"],
    "openapi_schema": {
      "type": "object",
      "required": ["supplier", "invoice_number", "total_incl_tax", "issued_at"],
      "properties": {
        "supplier":        { "type": "string" },
        "invoice_number":  { "type": "string" },
        "currency":        { "type": "string", "enum": ["EUR", "USD"] },
        "total_incl_tax":  { "type": "number" },
        "issued_at":       { "type": "string", "format": "date" },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label":      { "type": "string" },
              "quantity":   { "type": "number" },
              "unit_price": { "type": "number" }
            }
          }
        }
      }
    }
  }'

# Le schéma s'applique ensuite à l'ingestion, ou a posteriori sur un
# corpus déjà indexé.
# The schema then applies at ingestion, or retroactively to an
# already-indexed corpus.

Déploiement

Deployment

Trois façons de l'exploiter, une seule règle

Three ways to run it, one rule

Quel que soit le modèle retenu, l'infrastructure et les données restent sous votre contrôle. Nous fournissons le logiciel, les images, la documentation d'exploitation et le support.

Whichever model you pick, the infrastructure and the data stay under your control. We provide the software, the images, the operations documentation and the support.

On-premise

On-premise

  • Vos serveurs, votre réseau, vos sauvegardes.
  • Your servers, your network, your backups.
  • Docker Compose pour démarrer, Docker Swarm pour la production.
  • Docker Compose to start, Docker Swarm for production.
  • Nœuds GPU optionnels pour l'OCR, la transcription et les embeddings.
  • Optional GPU nodes for OCR, transcription and embeddings.
  • Fonctionnement hors ligne possible avec des modèles locaux.
  • Offline operation is possible with local models.

Cloud privé

Private cloud

  • Déployé dans votre compte AWS, GCP ou autre.
  • Deployed into your AWS, GCP or other account.
  • ECS, RDS PostgreSQL, ElastiCache, S3 — documentés et éprouvés.
  • ECS, RDS PostgreSQL, ElastiCache, S3 — documented and proven.
  • VPC fermé, endpoints privés, aucune exposition publique nécessaire.
  • Closed VPC, private endpoints, no public exposure required.
  • Terraform de référence fourni.
  • Reference Terraform provided.

Opéré par Sponge Theory

Operated by Sponge Theory

  • Nous exploitons la plateforme sur une infrastructure dédiée à votre organisation.
  • We run the platform on infrastructure dedicated to your organisation.
  • Inférence GPU auto-hébergée Sponge Theory, sans passer par un fournisseur tiers.
  • Sponge Theory self-hosted GPU inference, with no third-party provider in the path.
  • Mises à jour, supervision et support inclus.
  • Updates, monitoring and support included.
  • Réversibilité : la même image tourne chez vous quand vous le décidez.
  • Reversible: the same image runs on your side whenever you decide.

Parlons-en

Let's talk

NeoRAG se déploie sur mesure

NeoRAG is deployed to fit

Le périmètre, le volume documentaire, les modèles utilisés et le mode d'hébergement changent tout. Nous établissons une proposition après un échange, pas depuis une grille tarifaire.

Scope, document volume, models in use and hosting model change everything. We put together a proposal after a conversation, not from a price grid.

  • Trente minutes pour cadrer votre cas d'usage et votre contrainte de souveraineté.
  • Thirty minutes to frame your use case and your sovereignty constraint.
  • Démonstration sur vos propres documents, sous accord de confidentialité.
  • A demo on your own documents, under NDA.
  • Estimation d'infrastructure et plan de déploiement chiffré.
  • Infrastructure sizing and a costed deployment plan.

Les informations transmises servent uniquement à répondre à votre demande. Elles ne sont ni revendues, ni utilisées pour entraîner un modèle.

What you send is used only to answer your enquiry. It is never resold, and never used to train a model.