À 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.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.