Sobre el proyecto
Oneiron es un motor de recuperación embebido diseñado para aplicaciones de IA con memoria como prioridad. A diferencia de las pilas tradicionales que requieren servicios separados para bases de datos vectoriales, de texto y de grafo, Oneiron se ejecuta en el mismo proceso como una biblioteca de Rust con enlaces C FFI. Esta arquitectura elimina los saltos de red y los problemas de consistencia, haciéndolo adecuado para el despliegue en dispositivos móviles (iOS, Android), computadoras de escritorio, Node.js o como un daemon independiente a través de `oneiron-server`.
El motor aprovecha un único entorno LMDB con transacciones ACID para proporcionar escrituras atómicas en múltiples bases de datos. Admite cinco señales de recuperación distintas:
- **Vectorial**: HNSW (flat NSW) con aceleración SIMD para similitud semántica.
- **Texto**: Índice invertido BM25 para el emparejamiento exacto de palabras clave.
- **Grafo**: PageRank personalizado sobre aristas tipadas para el descubrimiento de entidades relacionales.
- **Temporal**: Índices de rango bi-temporal para consultas basadas en eventos.
- **Fonética**: Listas de publicaciones basadas en códigos para el emparejamiento difuso de entradas de voz/ASR.
Estas señales se pueden combinar utilizando Reciprocal Rank Fusion con aumentos por señal. El sistema almacena blobs de entidades en formato MessagePack y empaqueta el contexto en estructuras listas para LLM. Oneiron se distribuye bajo la licencia Apache 2.0 y proporciona tanto una interfaz de biblioteca de Rust como un daemon local para despliegues en el servidor.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.