À propos du projet
Oneiron est un moteur de recherche intégré conçu pour les applications IA axées sur la mémoire. Contrairement aux piles traditionnelles qui nécessitent des services distincts pour les bases de données vectorielles, textuelles et graphiques, Oneiron fonctionne en tant que bibliothèque Rust avec des liaisons C FFI. Cette architecture élimine les sauts réseau et les problèmes de cohérence, le rendant adapté au déploiement sur les appareils mobiles (iOS, Android), les ordinateurs de bureau, Node.js ou en tant que démon autonome via `oneiron-server`.
Le moteur utilise un seul environnement LMDB avec des transactions ACID pour fournir des écritures atomiques multi-bases de données. Il prend en charge cinq signaux de recherche distincts :
- **Vectoriel** : HNSW (NSW plat) avec accélération SIMD pour la similarité sémantique.
- **Texte** : Index inversé BM25 pour la correspondance exacte de mots-clés.
- **Graphique** : PageRank personnalisé sur les arêtes typées pour la découverte d'entités relationnelles.
- **Temporel** : Index de plage bi-temporels pour les requêtes basées sur des événements.
- **Phonétique** : Listes de publication basées sur le code pour l'appariement flou à partir des entrées vocale/ASR.
Ces signaux peuvent être combinés à l'aide de la fusion de rangs réciproques avec des boosts par signal. Le système stocke les blobs d'entité au format MessagePack et packe le contexte dans des structures prêtes pour LLM. Oneiron est distribué sous la licence Apache 2.0 et fournit à la fois une interface de bibliothèque Rust et un démon local pour les déploiements côté serveur.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.