Credits & Dependencies
LrGeniusAI is made possible by these amazing open-source projects and AI frameworks.
Core Backend Dependencies
- YuNet: Fast, lightweight face detector from the OpenCV Model Zoo; provides the face boxes and five landmarks. GitHub
- FaceNet (facenet-pytorch): Inception-ResNet-v1 with VGGFace2 weights; produces the face embeddings that group photos by person. GitHub
- SigLIP2 (NaFlex) (Apache-2.0): Google’s
siglip2-so400m-patch16-naflex(SigLIP 2, Tschannen et al., 2025), the vision-language model behind semantic search and the photo genre; it keeps each photo’s aspect ratio. Exported with Hugging Face Transformers. Model - AestheticSigLIP: Gowthami Somepalli’s
AestheticSigLIP, a SigLIP 2 So400m NaFlex encoder fine-tuned to score photos from 1 to 9, which provides the Aesthetic score. Apache-2.0. Model - CLIP-IQA: The prompt-pair method (Wang, Chan & Loy, Exploring CLIP for Assessing the Look and Feel of Images, AAAI 2023) behind the moment, emotion and kiss-gate questions culling asks of a photo. Paper
- OpenCLIP: The framework BioCLIP 2 is loaded and exported with. GitHub
- ONNX Runtime: Cross-platform, high performance ML inferencing, used via the
ortcrate for SigLIP2, BioCLIP 2, YuNet and FaceNet. Website - LanceDB: Embedded vector database storing embeddings and metadata. Website
- axum / tokio: Async HTTP server and runtime for
geniusai-server. GitHub - Hugging Face Tokenizers: Fast tokenizers used for the SigLIP2 text tower. GitHub
- rmcp (Apache-2.0): The official Rust SDK for the Model Context Protocol; serves the
/mcpendpoint AI agents connect to, and connects the in-app chat to the same tools. GitHub
Species Identification
- BioCLIP 2 (MIT): The vision model behind on-device species identification, trained on the tree of life. Project · Model · Paper
- TreeOfLife-200M (CC0-1.0): The 200-million-image dataset BioCLIP 2 was trained on. Its precomputed text embeddings are the taxonomy the plugin classifies against — LrGeniusAI ships a pruned subset of them. Dataset
- GBIF Backbone Taxonomy: The source of the common names shown alongside each scientific name, via TreeOfLife-200M’s label files. DOI 10.15468/39omei
- pybioclip: The reference implementation whose preprocessing and rank-aggregation semantics
lrg-ml::bioclipreproduces in Rust. GitHub
Local Inference Engines
- llama.cpp: Runs GGUF vision models in-process on Windows (Vulkan), via the
llama-cpp-2bindings. GitHub - llguidance: Turns JSON Schemas into decode-time constraints, so local models return valid structured output. GitHub
- MLX & mlx-swift-lm: Apple’s array framework and its language-model package, powering the
lrgenius-mlxsidecar on Apple silicon. GitHub - Gemma, Qwen-VL and SmolVLM: The open-weights vision models offered in the built-in model catalogs.
AI Model Providers & Interfaces
- Google Gemini: Large language models for multimodal analysis.
- OpenAI / ChatGPT: Advanced conversational AI and embeddings.
- Anthropic Claude: Vision-capable language models through Anthropic’s Messages API. Website
- Ollama: Run open-source large language models locally. Website
- LM Studio: Discover, download, and run local LLMs. Website
Utilities & SDKs
- JSON.lua (CC-BY 3.0): A complete JSON encoder/decoder in Lua by Jeffrey Friedl, vendored into the plugin. Upstream
- Adobe Lightroom Classic SDK: The Lua API the plugin frontend is built on.
- Hugging Face Hub: Distribution for the downloadable local models.
Tooling & Project Infrastructure
- Automaat/lightroom-mcp (MIT): A second open-source Lightroom Classic plugin, by Marcin Skalski, pairing an
.lrpluginwith an MCP server. Its CI/CD setup is where this project’s workflow trigger scoping, per-workflow concurrency groups, commit-SHA pinning of every action (not just third-party ones), the pinnedbustedrevision, and the “stamp the version, then read the stamp back” rule came from — the last of which turned up a bug that had shipped in every release. Its plugin also documents a couple of Lightroom SDK behaviours worth knowing — among them how LrSocket behaves across plug-in reloads and on Windows (its issues #110, #121, #128, #134, #137), which decided the shape of LrGeniusAI’s agent bridge: a receive-only socket as a doorbell, everything else over HTTP. No code was taken from it. GitHub - StyLua, luacheck, busted: Formatting, linting and headless unit tests for the plugin’s Lua.
- pre-commit: Runs the formatters, linters and the docs checker before every commit.
Full licence texts for the third-party source vendored into this repository are in THIRD-PARTY-NOTICES.md.
Developed by Bastian Machek (LrGenius / Fokuspunk) and AI agents.