LlamaEdge
App Listed
The easiest & fastest way to run customized and fine-tuned LLMs locally or on the edge
- Downloads
- 841
- Dependents
- Not applicable
- Stars
- 1,663
- Forks
- 148
- Contributors
- 9
- Commits
- 532
- Latest release
About
The LlamaEdge project makes it easy for you to run LLM inference apps and create OpenAI-compatible API services for open-source LLMs locally.
⭐ Like our work? Give us a star!
📖 Checkout our official docs and a Manning ebook on how to customize open source models.
🔥 Run multiple models with LlamaEdge! LLM (Text Generation) | Embedding | Speech to Text | Text to speech | Text to Image | Multimodal
Quick start
Prerequisite: Install WasmEdge via the following command line.
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash
Step 1: Download an LLM model file. Here we use the Meta Llama 3.2 1B model as an example.
curl -LO https://huggingface.co/second-state/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q5_K_M.gguf
Step 2: Download the LlamaEdge CLI chat app. It is also a cross-platform portable Wasm app that can run on many CPU and GPU devices.
curl -LO https://github.com/second-state/LlamaEdge/releases/latest/download/llama-chat.wasm
Step 3: Run the following command to chat with the LLM.
wasmedge --dir .:. --nn-preload default:GGML:AUTO:Llama-3.2-1B-Instruct-Q5_K_M.gguf llama-chat.wasm -p llama-3-chat
Next steps:
Read the full README
- Use a web-based chatbot to interact with your local LLM
- Start an LLM service with your own knowledge base
Serve any GenAI model in OpenAI-compatible web service endpoints:
- LLM (
/v1/chat/completionendpoints) -- https://github.com/LlamaEdge/LlamaEdge (this repo) - LLM (
/v1/embeddingsendpoints) -- https://github.com/LlamaEdge/LlamaEdge (this repo) - Voice to text (
/v1/audio/transcriptionsendpoints) -- https://github.com/LlamaEdge/whisper-api-server - Text to voice (
/v1/audio/speechendpoints) -- https://github.com/LlamaEdge/tts-api-server - Text to image (
/v1/images/generationsendpoints) -- https://github.com/LlamaEdge/sd-api-server
Projects in this repo
The Rust source code for the inference applications are all open source and you can modify and use them freely for your own purposes.
- The folder
llama-simplecontains the source code project to generate text from a prompt using run llama2 models. - The folder
llama-chatcontains the source code project to "chat" with a llama2 model on the command line. - The folder
llama-api-servercontains the source code project for a web server. It provides an OpenAI-compatible API service, as well as an optional web UI, for llama2 models.
The tech stack
The Rust+Wasm stack provides a strong alternative to Python in AI inference.
- Lightweight. The total runtime size is 30MB.
- Fast. Full native speed on GPUs.
- Portable. Single cross-platform binary on different CPUs, GPUs, and OSes.
- Secure. Sandboxed and isolated execution on untrusted devices.
- Container-ready. Supported in Docker, containerd, Podman, and Kubernetes.
For more information, please check out Fast and Portable Llama2 Inference on the Heterogeneous Edge.
Models
The LlamaEdge project supports all Large Language Models (LLMs) based on the llama2 framework. The model files must be in the GGUF format. We are committed to continuously testing and validating new open-source models that emerge every day.
Click here to see the supported model list with a download link and startup commands for each model. If you have success with other LLMs, don't hesitate to contribute by creating a Pull Request (PR) to help extend this list.
Platforms
The compiled Wasm file is cross platfrom. You can use the same Wasm file to run the LLM across OSes (e.g., MacOS, Linux, Windows SL), CPUs (e.g., x86, ARM, Apple, RISC-V), and GPUs (e.g., NVIDIA, Apple).
The installer from WasmEdge 0.13.5 will detect NVIDIA CUDA drivers automatically. If CUDA is detected, the installer will always attempt to install a CUDA-enabled version of the plugin. The CUDA support is tested on the following platforms in our automated CI.
- Nvidia Jetson AGX Orin 64GB developer kit
- Intel i7-10700 + Nvidia GTX 1080 8G GPU
- AWS EC2
g5.xlarge+ Nvidia A10G 24G GPU + Amazon deep learning base Ubuntu 20.04
If you're using CPU only machine, the installer will install the OpenBLAS version of the plugin instead. You may need to install
libopenblas-devbyapt update && apt install -y libopenblas-dev.
Troubleshooting
Q: Why I got the following errors after starting the API server?
[2024-03-05 16:09:05.800] [error] instantiation failed: module name conflict, Code: 0x60
[2024-03-05 16:09:05.801] [error] At AST node: module
A: TThe module conflict error is a known issue, and these are false-positive errors. They do not impact your program's functionality.
Q: Even though my machine has a large RAM, after asking several questions, I received an error message returns 'Error: Backend Error: WASI-NN'. What should I do?
A: To enable machines with smaller RAM, like 8 GB, to run a 7b model, we've set the context size limit to 512. If your machine has more capacity, you can increase both the context size and batch size up to 4096 using the CLI options available here. Use these commands to adjust the settings:
-c, --ctx-size <CTX_SIZE>
-b, --batch-size <BATCH_SIZE>
Q: After running apt update && apt install -y libopenblas-dev, you may encounter the following error:
...
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
A: This indicates that you are not logged in as root. Please try installing again using the sudo command:
sudo apt update && sudo apt install -y libopenblas-dev
Q: After running the wasmedge command, you may receive the following error:
[2023-10-02 14:30:31.227] [error] loading failed: invalid path, Code: 0x20
[2023-10-02 14:30:31.227] [error] load library failed:libblas.so.3: cannot open shared object file: No such file or directory
[2023-10-02 14:30:31.227] [error] loading failed: invalid path, Code: 0x20
[2023-10-02 14:30:31.227] [error] load library failed:libblas.so.3: cannot open shared object file: No such file or directory
unknown option: nn-preload
A: This suggests that your plugin installation was not successful. To resolve this issue, please attempt to install your desired plugin again.
Q: After executing the wasmedge command, you might encounter the error message: [WASI-NN] GGML backend: Error: unable to init model.
A: This error signifies that the model setup was not successful. To resolve this issue, please verify the following:
- Check if your model file and the WASM application are located in the same directory. The WasmEdge runtime requires them to be in the same location to locate the model file correctly.
- Ensure that the model has been downloaded successfully. You can use the command
shasum -a 256 <gguf-filename>to verify the model's sha256sum. Compare your result with the correct sha256sum available on the Hugging Face page for the model.
Credits
The WASI-NN ggml plugin embedded llama.cpp as its backend.
Compatibility
- License
- Apache-2.0
- Crate facts
- Not measured
- Runs on, Native code and Python bindings read crates on crates.io. This entry lists no crate.
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
The easiest & fastest way to run customized and fine-tuned LLMs locally or on the edge |
841 binary downloads per release | Not applicable | 1,663 | Not measured | Not measured | Apache-2.0 | |
|
Generate music based on natural language prompts using LLMs running locally Also in Run and serve models. |
7,531 binary downloads per release | Not applicable | 1,471 | 0.3.27 | CUDA | Binds native code: alsa-sys, openssl-sys, ort-sys | MIT |
|
Distributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat. Also in Build LLM apps and agents. |
1,411 binary downloads per release | Not applicable | 3,993 | 0.78.1 | GPU support unknown | Binds native code: libsqlite3-sys, netlink-sys, ring, secp256k1-sys | Apache-2.0 OR MIT |
|
Efficent platform for inference and serving local LLMs including an OpenAI compatible API server. Also in Build LLM apps and agents. |
138 binary downloads per release | Not applicable | 739 | Not measured | Not measured | MIT | |
|
NobodyWho is an inference engine that lets you run LLMs locally and efficiently on any device. Also in Build LLM apps and agents. |
34 binary downloads per release | Not applicable | 1,672 | Not measured | Not measured | EUPL-1.2 | |
|
Inference server for LLMs, speech and embeddings: OpenAI-compatible routes with streaming, plus speech synthesis (TTS) and transcription (ASR). Serves Llama, Mistral, Qwen, Mamba2, MLA+MoE and hybrid models from SafeTensors, AWQ, GPTQ and GGUF. Also in Build LLM apps and agents. |
8 binary downloads per release | Not applicable | 7 | 0.7.1 | CUDA, WebGPU | Binds native code: ring (feature distributed) | Apache-2.0 |
|
Run ONNX and TensorFlow inference in the browser. Also in Run and serve models. |
0 binary downloads per release | Not applicable | 76 | Not measured | Not measured | Not measured |
All projects in Build LLM apps and agentsAll projects in Run and serve models
Why ListedNo archive, New or Featured rule places it, so it is Listed.
What it lacks for Featured
- The check holds no value for Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days. A gate that lacks its signal does not pass.
What else the check found
- The last activity is on 8 Feb 2026, 274 days ago. The rules expect an update within 365 days. Dormancy rule
Not measured: First release, Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days.
Exact rules: Listed, Featured app. The check on applied thresholds version 9.
Every rule outcome, as the check records it
expected-interval: app: E = 365 daysdormancy: last activity 2026-02-08, 274 days ago, E = 365: activefeatured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90dlisted: listed: no archive, new or featured rule applies
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources4 sources
- Description: the GitHub repository description
- GitHub releases, fetched
- GitHub repository, fetched
- GitHub contributors, fetched
Adoption841 binary downloads per release4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | Not measured | Yes | ||
| New dependents (365 days) | Not measured | Yes | ||
| Peak active dependents | Not measured | Yes | ||
| Active dependents as a share of the peak | Not measured | Yes | ||
| Binary downloads per release | 841 | GitHub releases | Yes |
MaintenanceLatest human commit: 9 months ago7 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2026-02-08 | GitHub repository | Yes | |
| Latest release | 2026-02-08 | GitHub releases | Yes | |
| First release | Not measured | Yes | ||
| Latest version | Not measured | Yes | ||
| Days the oldest outside issue waits for a reply | 0 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 0 | GitHub repository | Yes | |
| Repository archived | false | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | Not measured | Yes | ||
| Published docs | Not measured | Yes | ||
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | Not measured | Yes | ||
| RustSec unmaintained advisory | Not measured | Yes | ||
| Deprecation notice | Not measured | Yes | ||
| Deprecated requirement | Not measured | Yes |
Distribution2,523 binary downloads over the last 3 releases10 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | Not measured | Yes | ||
| Downloads over 30 days | Not measured | Yes | ||
| Binary downloads over the last 3 releases | 2523 | GitHub releases | Yes | |
| Homebrew installs on request over 365 days | Not measured | Yes | ||
| Repology repository families | Not measured | Yes | ||
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | Not measured | Yes | ||
| Every version 0.0.x | Not measured | Yes | ||
| Every version yanked | Not measured | Yes | ||
| Crate deleted from crates.io | Not measured | Yes |
Repository1,663 stars, 148 forks, 9 contributors, 532 commits. Stars alone never qualify a project.1 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 1663 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 148 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 9 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 532 | GitHub repository | No | |
| Repository's main crate left out of the entry | Not measured | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | Apache-2.0 | GitHub repository | No | |
| Runs on, from listed crates and their direct dependencies | Not measured | No | ||
| What shows each backend | Not measured | No | ||
| Native code, from listed crates and their dependencies | Not measured | No | ||
| Python bindings, from direct dependencies of listed crates | Not measured | No | ||
| Crates that depend on a listed crate directly | Not measured | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.