1 puntos por credible 4 시간 전 | Aún no hay comentarios. | Compartir por WhatsApp

Soy estudiante de primer año de universidad y, como tenía curiosidad por cómo funciona realmente un motor de base de datos, empecé a crear uno por mi cuenta hace 4 meses. Al principio era un almacén clave-valor con LSM-tree para aprender, pero al añadirle una capa vectorial y montar un índice HNSW, se convirtió en una base de datos vectorial on-device.

Está escrita completamente en C y no tiene dependencias externas. Es una biblioteca embebida que se enlaza directamente a la app y corre dentro del dispositivo sin servidor, así que está pensada para RAG on-device o búsqueda semántica.

Componentes principales:

  • almacenamiento LSM-tree (WAL + memtable + SST + compactación)
  • índice vectorial HNSW (búsqueda aproximada de vecinos más cercanos)
  • kernel de distancia ARM NEON SIMD (float32 / int8, L2 / dot)
  • API de consultas basada en cadenas (búsqueda vectorial combinada con filtros, fácil de usar con bindings FFI)

Actualmente tiene funciones básicas de CRUD y consultas.

Todavía es una v1, así que quedan partes por optimizar o completar (soporte para x86, concurrencia, bindings móviles, etc.), y las limitaciones y la hoja de ruta están descritas en el README.

El nombre es livero (libero, que en italiano significa "libre" + vector). Lo nombré así con la idea de una vector store libre de servidores y dependencias, que corre libremente sobre el dispositivo :)

Aún no hay comentarios.

Aún no hay comentarios.