À propos du projet

SQLiteVecData assure l'intégration Swift entre SQLiteData et sqlite-vec, permettant aux développeurs de créer des tables virtuelles vec0 et d'effectuer des requêtes de similarité vectorielle entièrement en Swift. Il prend en charge les plateformes Apple via `loadSQLiteVecExtension` et les plateformes non-Apple via `registerSQLiteVecAutoExtension`. Principales fonctionnalités : - **Création de tables vec0** : définissez des tables virtuelles avec des colonnes vectorielles (par exemple `FLOAT[1536]`) et modélisez-les en Swift à l'aide du protocole `Vec0`. - **Requêtes match** : filtrez les lignes par similarité vectorielle avec `match`, et triez par la colonne `distance` pour obtenir les résultats les plus proches voisins. - **Fonctions de distance** : calculez la distance cosinus ou d'autres distances directement dans les clauses select. - **Itération de vecteurs** : utilisez `vecEach()` pour parcourir les éléments d'un vecteur, ce qui permet des sous-requêtes corrélées, du filtrage et de l'agrégation. - **EmbeddingVector** : un type tableau de longueur fixe, Hashable et Codable pour les plateformes Apple modernes (iOS 26+, macOS 26+, etc.) qui peut être stocké dans des tables vec0 ou utilisé comme liaison de requête. - **Support de test** : inclut `SQLiteVecDataTestSupport` avec des traits Swift Testing pour Linux et les plateformes Apple. - **Performance** : fournit des traits SIMD NEON (ARM) et AVX (x86) pour des opérations vectorielles optimisées. Le paquet exporte également `StructuredQueriesSQLiteVecCore`, un ensemble autonome d'assistants de requête pour ceux qui n'utilisent pas directement SQLiteData. L'installation se fait via Swift Package Manager ou Xcode, et la bibliothèque est sous licence MIT.