rryam/VecturaKit
Swift-based vector database for on-device RAG using MLTensor and MLX Embedders
解決する課題
VecturaKit は Swift ベースのベクトルデータベースで、オンデバイスアプリケーション向けに設計されています。開発者は Apple プラットフォーム上でベクトル埋め込みをローカルに保存、インデックス作成、取得できるため、基本的なセマンティック検索や取得タスクで外部のクラウドベクトルデータベースを利用する必要がなくなります。
仕組み
このフレームワークはコアベクトルデータベースエンジンを提供し、プラグイン可能なアーキテクチャを採用しています。Apple のネイティブ NaturalLanguage フレームワーク、OpenAI 互換 API(ローカルサーバーの Ollama やホストサービス向け)や、MLX を用いた GPU 加速埋め込みなど、複数の埋め込みプロバイダーをサポートします。ベクトル類似度と BM25 テキスト検索を組み合わせたハイブリッド検索機能を提供します。システムは高度にカスタマイズ可能で、開発者は特定のプロトコルに準拠することで独自のストレージバックエンド(例: SQLite、Core Data)や検索アルゴリズムを実装できます。
対象者
iOS、macOS、tvOS、visionOS、watchOS 向けにローカルセマンティック検索、RAG(Retrieval‑Augmented Generation)機能、または外部インフラに依存しないオンデバイス文書管理が必要な Swift 開発者向けです。
ハイライト
- プラグイン可能な埋め込み:Apple の NaturalLanguage、MLX、OpenAI 互換エンドポイントなど、さまざまなプロバイダーをサポート。
- ハイブリッド検索:ベクトル類似度と BM25 テキスト検索を組み合わせ、より関連性の高い結果を提供。
- オンデバイスストレージ:アプリセッション間で埋め込みと文書をローカルに永続化。
- 柔軟なメモリ管理:自動、フルメモリ、インデックスモードを提供し、数千件から数百万件の文書データセットに対応。
- カスタマイズ可能なアーキテクチャ:独自のストレージプロバイダーや検索エンジン実装が可能。