このプロジェクトについて

SQLiteVecDataは、SQLiteDataとsqlite-vecの間のSwift統合を提供し、開発者がvec0仮想テーブルを作成し、ベクトル類似性クエリを完全にSwiftで実行できるようにします。Appleプラットフォームでは`loadSQLiteVecExtension`を介して、非Appleプラットフォームでは`registerSQLiteVecAutoExtension`を介してサポートします。主な機能は以下の通りです: - **vec0テーブル作成**:ベクトル列(例:`FLOAT[1536]`)を持つ仮想テーブルを定義し、`Vec0`プロトコルを使用してSwiftでモデル化します。 - **Matchクエリ**:`match`を使用してベクトル類似性で行をフィルタリングし、`distance`列で並べ替えて最近傍結果を取得します。 - **距離関数**:コサイン距離やその他の距離をselect句で直接計算します。 - **ベクトル反復**:`vecEach()`を使用してベクトル要素を反復処理し、相関サブクエリ、フィルタリング、集計を可能にします。 - **EmbeddingVector**:最新のAppleプラットフォーム(iOS 26+、macOS 26+など)向けの固定長、Hashable、Codableな配列型で、vec0テーブルに格納したり、クエリバインディングとして使用できます。 - **テストサポート**:LinuxおよびAppleプラットフォーム向けのSwift Testingトレイトを含む`SQLiteVecDataTestSupport`を提供します。 - **パフォーマンス**:最適化されたベクトル演算のためにNEON(ARM)およびAVX(x86)SIMDトレイトを同梱しています。 このパッケージは、SQLiteDataを直接使用しない人向けのスタンドアロンなクエリヘルパーセットである`StructuredQueriesSQLiteVecCore`もエクスポートします。インストールはSwift Package ManagerまたはXcodeを介して行い、ライブラリはMITライセンスです。