Practical overview
When it fits
Use Vecturakit when you are building an Apple-platform app and need a local document index or retrieval layer that can combine semantic and keyword search. The NaturalLanguage integration offers contextual embeddings without external dependencies; compatible hosted or local embedding endpoints are another documented option.
Who it is for
- Swift developers building apps for Apple platforms.
- Teams adding local semantic search or retrieval-augmented generation over application content.
Documented uses
- Store and persist embedded app documents locally.
- Index documents in batches and search them using vector similarity alongside BM25 text matching.
- Choose an embedding provider, including Apple NaturalLanguage or an OpenAI-compatible endpoint.
- Adjust search thresholds, result limits and hybrid-search weighting.
Requirements & limits
The project is public on GitHub under the MIT license and is distributed as a Swift Package Manager package. The README lists minimum versions of iOS 18, macOS 15, watchOS 11, tvOS 18 and visionOS 2.
- The core library handles storage, indexing and retrieval; embedding generation is supplied through a provider integration.
- NaturalLanguage support is shipped through VecturaNLKit; MLX and Swift Embeddings support use separate packages.
- OpenAI-compatible embeddings can connect to local or hosted /v1/embeddings providers.
- The library includes memory strategies, including indexed storage for large datasets, and supports custom storage providers and search engines.
- Documented platform minimums are iOS 18, macOS 15, watchOS 11, tvOS 18 and visionOS 2.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add and search documents with NaturalLanguage embeddings
Create a local Vecturakit database, add text and retrieve results with a hybrid search query.
Before you start
- A Swift project using Swift Package Manager.
- Vecturakit and VecturaNLKit products in the app target.
- A supported Apple platform: iOS 18 or later or macOS 15 or later.
Steps
Add the Vecturakit package dependency and include the VecturaKit and VecturaNLKit products in the target.
Import VecturaKit and VecturaNLKit; create a VecturaConfig and an NLContextualEmbedder configured for a language.
Initialize Vecturakit with the configuration and embedder, then add text documents with addDocuments.
Call search with a text query and a result limit to retrieve matches.
Expected outcome
A local vector database containing the added documents and search results for a text query.
Guide limitations
- This example uses Apple's NaturalLanguage embedding provider; other providers require their corresponding integration.
- The documented minimums for this recipe are iOS 18 and macOS 15.
Compare options for Retrieval-augmented applications
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Vecturakit | Store and persist embedded app documents locally. | iOS, macOS | The project is public on GitHub under the MIT license and is distributed as a Swift Package Manager package. The README lists minimum versions of iOS 18, macOS 15, watchOS 11, tvOS 18 and visionOS 2. |
| Langsearch | Crawl website or local data for a knowledge base. | CLI, Self-hosted, Server | |
| Hybrid Search Rag | Combine document retrieval and language-model generation in a configurable workflow. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 12 October 2026
- Original website title
- rryam/VecturaKit · Official homepage title · retained in its source language

