Sobre el proyecto
SQLiteVecData ofrece integración en Swift entre SQLiteData y sqlite-vec, lo que permite a los desarrolladores crear tablas virtuales vec0 y realizar consultas de similitud vectorial completamente en Swift. Es compatible con plataformas Apple mediante `loadSQLiteVecExtension` y con plataformas no Apple mediante `registerSQLiteVecAutoExtension`. Sus características principales incluyen:
- **Creación de tablas vec0**: Define tablas virtuales con columnas vectoriales (por ejemplo, `FLOAT[1536]`) y modelalas en Swift usando el protocolo `Vec0`.
- **Consultas match**: Filtra filas por similitud vectorial usando `match`, y ordena por la columna `distance` para obtener resultados de vecinos más cercanos.
- **Funciones de distancia**: Calcula distancias coseno u otras directamente en las cláusulas select.
- **Iteración de vectores**: Usa `vecEach()` para iterar sobre elementos vectoriales, lo que permite subconsultas correlacionadas, filtrado y agregación.
- **EmbeddingVector**: Un tipo de array de longitud fija, Hashable y Codable para plataformas Apple modernas (iOS 26+, macOS 26+, etc.) que se puede almacenar en tablas vec0 o usar como enlaces de consulta.
- **Soporte de pruebas**: Incluye `SQLiteVecDataTestSupport` con traits de Swift Testing para Linux y plataformas Apple.
- **Rendimiento**: Incluye traits SIMD NEON (ARM) y AVX (x86) para operaciones vectoriales optimizadas.
El paquete también exporta `StructuredQueriesSQLiteVecCore`, un conjunto independiente de ayudantes de consulta para quienes no usan SQLiteData directamente. La instalación se realiza mediante Swift Package Manager o Xcode, y la biblioteca tiene licencia MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.