En production chez Accor — plus de 8 000 utilisateursIn 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 productionusers in production
10stratégies de rechercheretrieval strategies
150+endpoints RESTREST endpoints
100 %100%on-premise possibleon-premise capable
Ils nous font confiance
Trusted by
AccorE.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.
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.
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.
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.
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).
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.
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.
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.