# LumoKit

A Swift package for building on-device retrieval-augmented generation pipelines, combining a document-parsing library with a vector store and semantic search into one end-to-end pipeline for creating a searchable knowledge base on iOS or macOS.

LumoKit is a Swift package for building on-device Retrieval-Augmented Generation workflows. It combines PicoDocs for parsing PDFs, Markdown, HTML and text files with VecturaKit for vector storage and semantic search, giving an end-to-end pipeline for creating a searchable knowledge base from a set of documents.

It supports sentence-based, paragraph-based or semantic chunking with configurable overlap, and applies different handling depending on whether the content is prose, code, Markdown or mixed. Its async API is built with Swift concurrency, and any embedder conforming to the VecturaEmbedder protocol can be used, including on-device natural-language embedders, OpenAI-compatible embedding APIs, or MLX-based embedders.

It requires Swift 6.2 or newer, iOS 18 or macOS 15 or newer, and installs through the Swift Package Manager.

Website: https://github.com/rryam/LumoKit
