LocalLLMClient
A Swift package for running local large language models on iOS, macOS, and Linux, supporting GGUF and MLX model formats and Apple's FoundationModels framework behind one streaming API, with experimental multimodal input and tool calling.
LocalLLMClient gives Swift applications a common interface for running local LLMs across three backends, llama.cpp for GGUF models, Apple MLX, and Apple's FoundationModels framework, so an app can load a model and stream a response with the same session API regardless of backend. It supports streaming text generation, experimental multimodal input for describing attached images, and experimental tool calling for models that support it, with backend-specific compatibility documented separately.
It targets iOS, macOS, and Linux, adds itself as a Swift package dependency, and ships an example app demonstrating multimodal use with vision-language models. For larger models, the README recommends adding an increased-memory-limit entitlement so iOS apps can load them reliably.
The project is explicitly experimental, and its API is expected to change before it stabilizes.