इस प्रोजेक्ट के बारे में

SQLiteVecData, SQLiteData और sqlite-vec के बीच Swift एकीकरण प्रदान करता है, जिससे डेवलपर्स पूरी तरह Swift में vec0 वर्चुअल तालिकाएँ बना सकते हैं और वेक्टर समानता क्वेरी कर सकते हैं। यह Apple प्लेटफ़ॉर्म पर `loadSQLiteVecExtension` के माध्यम से और गैर-Apple प्लेटफ़ॉर्म पर `registerSQLiteVecAutoExtension` के माध्यम से समर्थन देता है। मुख्य विशेषताएँ: - **vec0 तालिका निर्माण**: वेक्टर कॉलम (जैसे `FLOAT[1536]`) के साथ वर्चुअल तालिकाएँ परिभाषित करें और `Vec0` प्रोटोकॉल का उपयोग करके उन्हें Swift में मॉडल करें। - **Match क्वेरी**: `match` का उपयोग करके वेक्टर समानता के आधार पर पंक्तियाँ फ़िल्टर करें, और निकटतम-पड़ोसी परिणामों के लिए `distance` कॉलम से क्रमबद्ध करें। - **दूरी फलन**: select क्लॉज़ में सीधे cosine या अन्य दूरियाँ गणना करें। - **वेक्टर पुनरावृत्ति**: वेक्टर तत्वों पर पुनरावृत्ति के लिए `vecEach()` का उपयोग करें, जिससे सहसंबंधित सबक्वेरी, फ़िल्टरिंग और एग्रीगेशन संभव हो। - **EmbeddingVector**: आधुनिक Apple प्लेटफ़ॉर्म (iOS 26+, macOS 26+, आदि) के लिए एक निश्चित-लंबाई, Hashable, Codable सरणी प्रकार जिसे vec0 तालिकाओं में संग्रहीत किया जा सकता है या क्वेरी बाइंडिंग के रूप में उपयोग किया जा सकता है। - **टेस्ट समर्थन**: Linux और Apple प्लेटफ़ॉर्म के लिए Swift Testing traits के साथ `SQLiteVecDataTestSupport` शामिल है। - **प्रदर्शन**: अनुकूलित वेक्टर संचालन के लिए NEON (ARM) और AVX (x86) SIMD traits के साथ आता है। पैकेज `StructuredQueriesSQLiteVecCore` भी निर्यात करता है, जो उन लोगों के लिए क्वेरी हेल्पर्स का एक स्टैंडअलोन सेट है जो सीधे SQLiteData का उपयोग नहीं करते। इंस्टॉलेशन Swift Package Manager या Xcode के माध्यम से है, और लाइब्रेरी MIT लाइसेंस प्राप्त है।