Practical overview
When it fits
Use Lumokit when building a Swift application that needs a searchable document collection or a retrieval component for a RAG feature.
Who it is for
- Swift developers building document search into iOS or macOS applications.
- Teams adding a document-retrieval layer to an application’s RAG workflow.
Documented uses
- Parse PDFs, Markdown, HTML and text files for indexing.
- Split prose, code or mixed content into configurable chunks.
- Store document vectors and retrieve relevant content through semantic search.
- Add, delete or reset indexed content as an application's knowledge base changes.
Requirements & limits
The repository is public and licensed under MIT. The documented requirements are Swift 6.2 or later, iOS 18 or later, and macOS 15 or later.
- Lumokit is a developer library, so an application must provide the user-facing interface and integration.
- Chunking can be tuned by strategy, overlap and content type.
- The README presents default and custom embedding options, including local-model approaches and an OpenAI-compatible remote endpoint.
- When changing embedding models, the README recommends a separate vector store to keep vector dimensions consistent.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add Lumokit to a Swift package
Declare Lumokit as a dependency and attach its product to an app target.
Before you start
- Swift 6.2 or later
- iOS 18 or later or macOS 15 or later
- A Swift Package Manager manifest
Steps
Add the package URL https://github.com/rryam/LumoKit.git to Package.swift, using the documented version requirement from: "3.3.0".
Add the LumoKit product to the dependencies for the application target.
Expected outcome
The target manifest declares Lumokit as a package dependency.
Guide limitations
- These steps cover dependency declaration only, not building, running or deploying an application.
Index a document and search it
Use Lumokit’s documented API to add a file to a searchable knowledge base and request semantic results.
Before you start
- Lumokit and its Vectura dependencies included in a Swift application
- A document URL for a supported PDF, Markdown, HTML or text file
- A VecturaConfig for the vector database
Steps
Create a VecturaConfig and, if needed, a ChunkingConfig with a chosen chunking strategy and content type.
Initialize Lumokit asynchronously with the configuration.
Call parseAndIndex(url:) with the document URL.
Call semanticSearch(query:numResults:threshold:) to retrieve matching results.
Expected outcome
The API is documented to index the document and return semantic search results.
Guide limitations
- The README lists file-not-found, unsupported-file-type, invalid-URL and search-parameter errors.
- This recipe describes the documented API flow and is not a report of execution testing.
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 |
|---|---|---|---|
| Lumokit | Parse PDFs, Markdown, HTML and text files for indexing. | iOS, macOS | The repository is public and licensed under MIT. The documented requirements are Swift 6.2 or later, iOS 18 or later, and macOS 15 or later. |
| 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/LumoKit · Official homepage title · retained in its source language

