La base de donnees edge-AI pour les agents
Concue en Europe
Une base de donnees embarquable pour documents, blobs et vecteurs sous un seul id, avec recherche locale, synchronisation offline-first, chiffrement et une couche agent via REST et MCP. Erlang. Apache 2.0.
Un enregistrement. Documents, blobs et vecteurs.
Barrel conserve un document, ses pieces jointes et son embedding sous un seul id, ainsi la memoire d'un agent tient en une ecriture et une lecture. Embarquez-le comme bibliotheque, executez-le comme serveur, ou synchronisez-le vers le navigateur.
Enregistrement unifie
Un document, ses blobs et son vecteur partagent un seul id. Pas de code de liaison entre un stockage documentaire et un index vectoriel.
Recherche locale
Recherche vectorielle, BM25 et hybride en processus, plus les requetes BQL. Recherche vectorielle en force brute, meme dans le navigateur.
Sync offline-first
Les vecteurs de version HLC suivent la causalite, ainsi la synchronisation converge sans coordinateur et ne perd jamais silencieusement une ecriture.
Chiffrement au repos
AES-256-GCM avec des cles par base de donnees et un fournisseur de cles enfichable. Vos cles, vos donnees.
Timeline
Creez une branche d'une base de donnees, restaurez-la a un instant precis, et fusionnez les branches. Gestion de versions pour votre etat.
Agents & MCP
Espaces, jetons de capacite, sessions et transferts, exposes via REST et le Model Context Protocol.
Une seule API. Documents et vecteurs.
Aucune glu entre un stockage documentaire et un index vectoriel separe. Vous ecrivez un enregistrement une fois, puis vous l'interrogez comme document ou le cherchez comme vecteur. Embarquez Barrel dans votre application Erlang, ou lancez barrel_server devant elle et atteignez les memes enregistrements via REST et le Model Context Protocol.
%% Ouvrez une base. Le texte est transforme en vecteur a l'ecriture.
{ok, _} = barrel:open(<<"notes">>, #{embedding => #{provider => openai}}).
%% Une seule ecriture stocke le document, son vecteur et ses blobs sous un id.
{ok, _} = barrel:put_doc(<<"notes">>, #{
<<"id">> => <<"n1">>,
<<"title">> => <<"Design review">>,
<<"text">> => <<"Ship the edge sync protocol">>
}).
%% Interrogez la couche documentaire avec BQL.
{ok, Rows, _} = barrel:query(<<"notes">>,
<<"SELECT id, title FROM db WHERE title LIKE 'Design%'">>).
%% Cherchez dans la couche vectorielle, sur les memes enregistrements.
{ok, Hits, _} = barrel:query(<<"notes">>,
<<"SELECT id, _score FROM vector_top_k('edge sync', k => 5) AS v">>). # Lancez barrel_server pour une surface REST/JSON et MCP sur la meme base.
$ curl -X PUT localhost:8080/db/notes
{"ok":true,"db":"notes"}
$ curl -X PUT localhost:8080/db/notes/doc/n1 \
-H 'content-type: application/json' \
-d '{"title":"Design review","text":"Ship the edge sync protocol"}'
{"id":"n1","ok":true,"rev":"0000019f46b4c08900000000@8c0010c983917d4b"}
# Recherche vectorielle sur les memes enregistrements.
$ curl -X POST localhost:8080/db/notes/search/vector \
-H 'content-type: application/json' -d '{"vector":[...],"k":5}'
# Les agents parlent MCP sur le meme endpoint.
$ curl -X POST localhost:8080/mcp -H 'content-type: application/json' -d '{...}' Utilisez toute la base de donnees, ou juste la partie dont vous avez besoin
Barrel se compose de bibliotheques Apache 2.0 independantes. Adoptez la base de donnees complete, ou dependez d'une seule couche et etendez vers le reste plus tard. Pas de reecriture, pas de nouveau fournisseur.
Barrel
La base de donnees completeDocuments, blobs et vecteurs sous un seul id, avec BQL, synchronisation, chiffrement, timeline et la couche agent. Embarquez-la, executez-la comme serveur, ou synchronisez-la vers le navigateur.
Ou commencez avec une seule bibliotheque :
Barrel Vector
Couche vectorielle
Backends HNSW, DiskANN, FAISS et BM25 avec recherche hybride et filtrage par metadonnees.
Barrel Docs
Couche documentaire
MVCC a vecteurs de version, requetes BQL, pieces jointes, flux de changements et replication.
Agents & MCP
Couche agent
Espaces, jetons de capacite, sessions et transferts via REST et MCP.
Sync & Local-first
Client navigateur
barrel-lite : stockage offline-first, multi-onglets et recherche vectorielle locale dans le navigateur.
Pourquoi Barrel ?
Concue differemment. Concue en Europe. Concue pour durer.
Open Source
Sous licence Apache 2.0. Forkez, modifiez, deployez ou vous voulez.
Construit en Erlang
VM eprouvee. Tolerante aux pannes par conception. Pas de pauses GC.
Made in Europe
Entreprise europeenne. Pas de Cloud Act US. Conforme RGPD par conception.
Fonctionne partout
Embarquez-le en Erlang ou Elixir, executez-le comme serveur, ou synchronisez-le vers le navigateur.
Alimente Barrel Platform
La meme base de donnees open source alimente Barrel Platform, notre infrastructure geree et axee sur la confidentialite pour les agents IA. Auto-hebergez-la, ou laissez-nous l'executer. Le meme code dans les deux cas.
Sans verrouillage
Coeur open source
Confidentialite d'Abord
RGPD par conception
100% Open Source
Chaque composant est sous licence Apache 2.0. Forkez, modifiez, deployez ou vous voulez. Pas de verrouillage, pas de frais d'utilisation.
Support commercial pour les equipes en production
Auto-hebergez Barrel DB gratuitement, ou travaillez avec Enki Bridge pour des pilotes RAG prives, de la memoire d'agent, de l'edge sync, de l'hebergement manage et du support en production.
Pilote RAG Prive
Recherche semantique privee et RAG sur vos propres donnees.
Memoire d'Agent
Une couche de memoire persistante pour agents et outils MCP.
Edge Sync
Deploiements offline-first et edge avec recherche locale.
Barrel DB Manage
Aide operationnelle pour des deploiements selectionnes en production.
Pret a Commencer ?
Auto-hebergez la base de donnees open source, ou travaillez avec Enki Bridge sur un pilote a perimetre fixe, un deploiement en production ou Barrel DB manage.