Files
wehub-resource-sync 770d92cb1f
Lint / lint (push) Has been cancelled
Build Docs / Deploy Docs (push) Has been cancelled
Windows CI / Windows (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:23:58 +08:00

247 lines
8.0 KiB
ReStructuredText

.. _install-mlc-packages:
Install MLC LLM Python Package
==============================
.. contents:: Table of Contents
:local:
:depth: 2
MLC LLM Python Package can be installed directly from a prebuilt developer package, or built from source.
Option 1. Prebuilt Package
--------------------------
We provide nightly built pip wheels for MLC-LLM via pip.
Select your operating system/compute platform and run the command in your terminal:
.. note::
❗ Whenever using Python, it is highly recommended to use **conda** to manage an isolated Python environment to avoid missing dependencies, incompatible versions, and package conflicts.
Please make sure your conda environment has Python and pip installed.
.. tabs::
.. tab:: Linux
.. tabs::
.. tab:: CPU
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cpu mlc-ai-nightly-cpu
.. tab:: CUDA 12.8
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cu128 mlc-ai-nightly-cu128
.. tab:: CUDA 13.0
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cu130 mlc-ai-nightly-cu130
.. tab:: ROCm 6.1
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-rocm61 mlc-ai-nightly-rocm61
.. tab:: ROCm 6.2
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-rocm62 mlc-ai-nightly-rocm62
.. tab:: Vulkan
Supported in all Linux packages. Checkout the following instructions
to install the latest vulkan loader to avoid vulkan not found issue.
.. code-block:: bash
conda install -c conda-forge gcc libvulkan-loader
.. note::
We need git-lfs in the system, you can install it via
.. code-block:: bash
conda install -c conda-forge git-lfs
If encountering issues with GLIBC not found, please install the latest glibc in conda:
.. code-block:: bash
conda install -c conda-forge libstdcxx-ng
Besides, we would recommend using Python 3.13; so if you are creating a new environment,
you could use the following command:
.. code-block:: bash
conda create --name mlc-prebuilt python=3.13
.. tab:: macOS
.. tabs::
.. tab:: CPU + Metal
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cpu mlc-ai-nightly-cpu
.. note::
Always check if conda is installed properly in macOS using the command below:
.. code-block:: bash
conda info | grep platform
It should return "osx-64" for Mac with Intel chip, and "osx-arm64" for Mac with Apple chip.
We need git-lfs in the system, you can install it via
.. code-block:: bash
conda install -c conda-forge git-lfs
.. tab:: Windows
.. tabs::
.. tab:: CPU + Vulkan
.. code-block:: bash
conda activate your-environment
python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cpu mlc-ai-nightly-cpu
.. note::
Please make sure your conda environment comes with python and pip.
Make sure you also install the following packages,
vulkan loader, clang, git and git-lfs to enable proper automatic download
and jit compilation.
.. code-block:: bash
conda install -c conda-forge clang libvulkan-loader git-lfs git
If encountering the error below:
.. code-block:: bash
FileNotFoundError: Could not find module 'path\to\site-packages\tvm\tvm.dll' (or one of its dependencies). Try using the full path with constructor syntax.
It is likely `zstd`, a dependency to LLVM, was missing. Please use the command below to get it installed:
.. code-block:: bash
conda install zstd
Then you can verify installation in command line:
.. code-block:: bash
python -c "import mlc_llm; print(mlc_llm)"
# Prints out: <module 'mlc_llm' from '/path-to-env/lib/python3.13/site-packages/mlc_llm/__init__.py'>
|
.. _mlcchat_build_from_source:
Option 2. Build from Source
---------------------------
We also provide options to build mlc runtime libraries ``mlc_llm`` from source.
This step is useful when you want to make modification or obtain a specific version of mlc runtime.
**Step 1. Set up build dependency.** To build from source, you need to ensure that the following build dependencies are satisfied:
* CMake >= 3.24
* Git
* `Rust and Cargo <https://www.rust-lang.org/tools/install>`_, required by Hugging Face's tokenizer
* One of the GPU runtimes:
* CUDA >= 11.8 (NVIDIA GPUs)
* Metal (Apple GPUs)
* Vulkan (NVIDIA, AMD, Intel GPUs)
.. code-block:: bash
:caption: Set up build dependencies in Conda
# make sure to start with a fresh environment
conda env remove -n mlc-chat-venv
# create the conda environment with build dependency
conda create -n mlc-chat-venv -c conda-forge \
"cmake>=3.24" \
rust \
git \
python=3.13
# enter the build environment
conda activate mlc-chat-venv
.. note::
For runtime, :doc:`TVM </install/tvm>` compiler is not a dependency for MLCChat CLI or Python API. Only TVM's runtime is required, which is automatically included in `3rdparty/tvm <https://github.com/mlc-ai/mlc-llm/tree/main/3rdparty>`_.
However, if you would like to compile your own models, you need to follow :doc:`TVM </install/tvm>`.
**Step 2. Configure and build.** A standard git-based workflow is recommended to download MLC LLM, after which you can specify build requirements with our lightweight config generation tool:
.. code-block:: bash
:caption: Configure and build
# clone from GitHub
git clone --recursive https://github.com/mlc-ai/mlc-llm.git && cd mlc-llm/
# create build directory
mkdir -p build && cd build
# generate build configuration
python ../cmake/gen_cmake_config.py
# build mlc_llm libraries
cmake .. && make -j $(nproc) && cd ..
**Step 3. Install via Python.** We recommend that you install ``mlc_llm`` as a Python package, giving you
access to ``mlc_llm.compile``, ``mlc_llm.MLCEngine``, and the CLI.
There are two ways to do so:
.. tabs ::
.. code-tab :: bash Install via environment variable
export MLC_LLM_SOURCE_DIR=/path-to-mlc-llm
export PYTHONPATH=$MLC_LLM_SOURCE_DIR/python:$PYTHONPATH
alias mlc_llm="python -m mlc_llm"
.. code-tab :: bash Install via pip local project
conda activate your-own-env
which python # make sure python is installed, expected output: path_to_conda/envs/your-own-env/bin/python
cd /path-to-mlc-llm/python
pip install -e .
**Step 4. Validate installation.** You may validate if MLC libarires and mlc_llm CLI is compiled successfully using the following command:
.. code-block:: bash
:caption: Validate installation
# expected to see `libmlc_llm.so` and `libtvm_runtime.so`
ls -l ./build/
# expected to see help message
mlc_llm chat -h
Finally, you can verify installation in command line. You should see the path you used to build from source with:
.. code:: bash
python -c "import mlc_llm; print(mlc_llm)"