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

From the project README ·

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

Serve any GenAI model in OpenAI-compatible web service endpoints:

  • LLM (/v1/chat/completion endpoints) -- https://github.com/LlamaEdge/LlamaEdge (this repo)
  • LLM (/v1/embeddings endpoints) -- https://github.com/LlamaEdge/LlamaEdge (this repo)
  • Voice to text (/v1/audio/transcriptions endpoints) -- https://github.com/LlamaEdge/whisper-api-server
  • Text to voice (/v1/audio/speech endpoints) -- https://github.com/LlamaEdge/tts-api-server
  • Text to image (/v1/images/generations endpoints) -- 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-simple contains the source code project to generate text from a prompt using run llama2 models.
  • The folder llama-chat contains the source code project to "chat" with a llama2 model on the command line.
  • The folder llama-api-server contains 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-dev by apt 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:

  1. 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.
  2. 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.

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.

LlamaEdge beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
LlamaEdge This page App Listed

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
musicgpt App Listed Dormant

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
mesh-llm App Listed

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
candle-vllm App Listed

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 App Listed

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
blazr App Listed

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
tractjs App Listed Dormant

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
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 days
  • dormancy: last activity 2026-02-08, 274 days ago, E = 365: active
  • featured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90d
  • listed: 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
Adoption841 binary downloads per release4 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependentsNot measuredYes
New dependents (365 days)Not measuredYes
Peak active dependentsNot measuredYes
Active dependents as a share of the peakNot measuredYes
Binary downloads per release841GitHub releasesYes
MaintenanceLatest human commit: 9 months ago7 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-02-08GitHub repositoryYes
Latest release2026-02-08GitHub releasesYes
First releaseNot measuredYes
Latest versionNot measuredYes
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days0GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repoNot measuredYes
Published docsNot measuredYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityNot measured
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windowNot measuredYes
RustSec unmaintained advisoryNot measuredYes
Deprecation noticeNot measuredYes
Deprecated requirementNot measuredYes
Distribution2,523 binary downloads over the last 3 releases10 not measured
Distribution measurements
SignalValueSourceFetchedCounts
ReleasesNot measuredYes
Downloads over 30 daysNot measuredYes
Binary downloads over the last 3 releases2523GitHub releasesYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleaseNot measuredYes
Every version 0.0.xNot measuredYes
Every version yankedNot measuredYes
Crate deleted from crates.ioNot measuredYes
Repository1,663 stars, 148 forks, 9 contributors, 532 commits. Stars alone never qualify a project.1 not measured
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars1663GitHub repositoryYes — one part of the repository route
GitHub forks148GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account9GitHub contributorsYes — one part of the repository route
Commits on the default branch532GitHub repositoryNo
Repository's main crate left out of the entryNot measuredYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseApache-2.0GitHub repositoryNo
Runs on, from listed crates and their direct dependenciesNot measuredNo
What shows each backendNot measuredNo
Native code, from listed crates and their dependenciesNot measuredNo
Python bindings, from direct dependencies of listed cratesNot measuredNo
Crates that depend on a listed crate directlyNot measuredNo

Corrections and review history

Report a correction

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.