Aller au contenu
Foxmayn
Toutes les réalisationsFoxmayn AI

Foxmayn AI : une plateforme RAG que nous avons créée

Les équipes envoient leurs documents et obtiennent des réponses avec sources citées. Nous avons construit la plateforme de bout en bout : API, worker d'indexation, recherche vectorielle et application web. Elle est en développement.

Le problème

Les entreprises gardent leurs connaissances dans des PDF, des fichiers Word et des pages web. On les parcourt à la main, ou on demande à un collègue. Un modèle de chat peut répondre à des questions, mais il ne connaît pas vos documents, et il invente quand il ne sait pas.

La génération augmentée par la recherche (RAG) règle ce problème. Le système trouve les passages pertinents dans vos documents et les transmet au modèle. La réponse arrive alors avec ses sources, et le lecteur peut la vérifier.

Nous voulions construire l'ensemble nous-mêmes, pour repérer les points difficiles avant d'intégrer du RAG dans des projets clients.

Ce que nous avons construit

Foxmayn AI est une plateforme RAG. Les équipes envoient leurs documents. La plateforme les indexe et répond aux questions avec des sources citées.

  • Envoi de documents aux formats txt, md, html, pdf, doc et docx, jusqu'à 10 Mo chacun.
  • Indexation en arrière-plan, avec une barre de progression de 5 à 100 %.
  • Réponses citées, affichées au fil de l'eau, les sources étant envoyées en premier.
  • Profils RAG. Chaque profil définit le modèle de chat, le modèle d'embedding, le nombre de passages récupérés, le seuil de score, la taille des segments, la température et le prompt système.
  • Des crédits qui paient l'indexation et les questions.
  • Organisations, utilisateurs et clés d'API, avec gestion des utilisateurs par un administrateur.
  • Une API documentée, avec une spécification OpenAPI et une page de référence Scalar.

Comment ça marche

Le code est un monorepo TypeScript sur Node 24, construit avec Turborepo et pnpm. Il comprend une API, un worker et une application web, plus des paquets partagés pour la base de données, le client de modèles et le stockage vectoriel.

Indexation. Un fichier envoyé arrive à l'API via oRPC. L'API place une tâche dans BullMQ sur Redis. Le worker découpe le texte en segments avec le découpeur récursif de LangChain (500 caractères avec 50 caractères de chevauchement par défaut). Il demande les embeddings à OpenRouter par lots de 20 et stocke les vecteurs dans Qdrant, avec une collection par taille d'embedding. Une tâche est relancée jusqu'à trois fois avec un délai exponentiel. Si elle échoue définitivement, le worker supprime les vecteurs et les lignes qu'il a créés, de sorte qu'aucun document à moitié indexé ne reste.

Réponse. La question est transformée en embedding, puis recherchée dans Qdrant par similarité cosinus. Par défaut, les 5 meilleurs passages dont le score dépasse 0,3 sont transmis au modèle. Le modèle de chat par défaut est Gemini 2.5 Flash Lite via OpenRouter. L'API diffuse la réponse depuis un générateur oRPC et envoie les sources en premier, pour que l'interface puisse les afficher pendant que le texte arrive.

Crédits. La plateforme réserve les crédits avant tout travail, règle le coût réel ensuite et rembourse la réservation si le travail échoue. Une seule vérification SQL atomique protège le solde. Les recharges sont faites par un administrateur.

Stack. Hono pour l'API, oRPC pour le contrat, better-auth pour la connexion et les organisations, Drizzle ORM sur PostgreSQL, et React 19 avec TanStack Router et Vite pour l'application web.

Où en est le projet

Foxmayn AI est en développement, construit entre novembre 2025 et mars 2026. Il n'a pas encore de versions publiées, ni de déploiement que nous exploitons pour d'autres. Nous le faisons tourner en local et dans Docker.

Les documents de chaque utilisateur restent les siens : la recherche, les vecteurs et les profils RAG sont limités au propriétaire du document, les filtres de documents vérifient l'appartenance, le tableau de bord de la file d'attente est réservé aux administrateurs et la taille des requêtes est plafonnée.

Il manque encore certaines choses :

  • Des tests automatisés et une CI.
  • Une intégration de paiement pour la recharge des crédits.
  • Le partage de documents au sein d'une organisation.

Ce que cela montre de notre travail

La plateforme est une référence de notre approche de l'IA sur les données d'entreprise. L'indexation s'exécute comme une tâche qui peut échouer et reprendre. Les ressources assimilables à de l'argent, ici les crédits, sont comptabilisées avec soin. Les réponses portent leurs sources. Les modèles et les réglages de recherche relèvent de la configuration, pas du code.

La suite

L'isolation au niveau de l'organisation vient en premier. Ensuite les tests et la CI, puis un premier vrai déploiement avec une équipe pilote. Si vous voulez du RAG sur vos propres documents ou sur votre ERP, consultez nos services. Le dépôt est à l'adresse github.com/nasroykh/foxmayn_ai.

Toutes les réalisations

Une interface de bureau et web pour Frappe et ERPNext qui réécrit les écrans utilisés par les utilisateurs finaux. Projet précoce, en développement. Nous l'avons construit pour comprendre ce qu'exige un meilleur client.
Lire l'étude de cas

Un projet Frappe ?

Dites-nous ce qui tourne aujourd'hui et ce qui doit changer.

Ou écrivez-nous à[email protected]

Vos coordonnées servent uniquement à vous répondre.