Swiss Army Llama
FreeComprehensive set of tools for working with local LLMs for various tasks.
About Swiss Army Llama
Swiss Army Llama is a FastAPI service designed to streamline working with local large language models (LLMs). It provides REST endpoints for obtaining text embeddings and completions via llama_cpp, with built-in support for processing a variety of document types including PDFs (with OCR), Word files, and audio files (transcribed with Whisper). Embeddings are cached in SQLite to avoid redundant computation. The service optionally uses RAM disks to accelerate model loading. It offers semantic similarity computation using a Rust-based library with advanced measures (Spearman's rho, Kendall's tau, approximate distance correlation, Jensen-Shannon dependency measure, Hoeffding's D) and supports semantic search across cached embeddings with FAISS vector search. All endpoints are accessible through an intuitive Swagger UI, making integration into custom applications straightforward.
Key Features
Pros & Cons
- Operates entirely locally, ensuring data privacy and no cloud costs
- Supports a wide range of file types including scanned PDFs and audio
- Caches embeddings in SQLite for efficiency on repeated queries
- Offers advanced statistical similarity measures beyond cosine similarity
- Open-source and free to use with no usage limits
- Includes a user-friendly Swagger UI for easy testing and integration
- Requires local setup and management of LLM models and dependencies
- Performance depends on local hardware (CPU/GPU) and may be slow on modest machines
- Relies on llama_cpp which may not support the latest or all model architectures
- No hosted cloud version; users must deploy and maintain their own instance