85742ab165
Deploy Documentation / deploy (push) Has been cancelled
CPU Test / Test (Utilities, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, latest, Python 3.13) (push) Has been cancelled
Dashboard / Chromatic (push) Has been cancelled
CPU Test / Lint - fast (push) Has been cancelled
CPU Test / Lint - next (push) Has been cancelled
CPU Test / Lint - slow (push) Has been cancelled
CPU Test / Lint - JavaScript (push) Has been cancelled
CPU Test / Build documentation (push) Has been cancelled
CPU Test / Test (AgentOps, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Others, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Store, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Weave, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (AgentOps, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (LLM proxy, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Others, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Store, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Utilities, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (JavaScript) (push) Has been cancelled
191 lines
6.6 KiB
Markdown
191 lines
6.6 KiB
Markdown
# Installation Guide
|
||
|
||
This guide explains how to install **Agent-Lightning**. You can install it from **PyPI** (the Python Package Index) for general use or directly from the **source code** if you plan to contribute or need fine-grained control over dependencies.
|
||
|
||
!!! info "Platform and Hardware Requirements"
|
||
Agent-Lightning is officially supported on **Linux distributions** (Ubuntu 22.04 or later is recommended).
|
||
At the moment **macOS and Windows** (outside of WSL2) are not supported.
|
||
|
||
The Python runtime must be **Python 3.10 or newer**. We recommend using the latest patch release of Python 3.10, 3.11, or 3.12 to pick up performance and security updates.
|
||
|
||
A **GPU is optional**—you only need CUDA-capable hardware if you plan to fine-tune model weights or run GPU-accelerated workloads. CPU-only environments are fully supported for evaluation and inference.
|
||
|
||
## Installing from PyPI
|
||
|
||
The easiest way to get started is by installing Agent-Lightning directly from PyPI. This ensures you get the latest **stable release** of the package, tested for compatibility and reliability.
|
||
|
||
### Install the Stable Release
|
||
|
||
Run the following command in your terminal:
|
||
|
||
```bash
|
||
pip install --upgrade agentlightning
|
||
```
|
||
|
||
This installs or upgrades Agent-Lightning to the newest stable version.
|
||
|
||
!!! tip
|
||
|
||
If you intend to use **Agent-Lightning** with [**VERL**](../algorithm-zoo/verl.md) or run any of its **example scripts**, you’ll need to install some additional dependencies.
|
||
See the sections on [Algorithm-specific installation](#algorithm-specific-installation) and [Example-specific installation](#example-specific-installation) for details.
|
||
|
||
### Install the Nightly Build (Latest Features)
|
||
|
||
Agent-Lightning also publishes **nightly builds**, which contain the latest experimental features and improvements from the main branch. These are available via **Test PyPI**.
|
||
|
||
```bash
|
||
pip install --upgrade --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ --pre agentlightning
|
||
```
|
||
|
||
!!! warning
|
||
The nightly builds are cutting-edge but may include unstable or untested changes.
|
||
Use them **at your own risk**, especially in production environments.
|
||
|
||
## Algorithm-specific Installation
|
||
|
||
Agent-Lightning supports multiple learning algorithms. Some of them like [APO](../algorithm-zoo/apo.md) or [VERL](../algorithm-zoo/verl.md) require extra dependencies. You can install them automatically using **optional extras** or manually if you prefer finer control.
|
||
|
||
### Installing APO
|
||
|
||
[APO](../algorithm-zoo/apo.md) is an algorithm module that depends on libraries such as [POML](https://github.com/microsoft/POML).
|
||
You can install Agent-Lightning with APO support by running:
|
||
|
||
```bash
|
||
pip install agentlightning[apo]
|
||
```
|
||
|
||
!!! warning
|
||
APO also depends on the [OpenAI Python SDK](https://github.com/openai/openai-python), version **2.0 or newer**.
|
||
Ensure your SDK version is up to date to avoid compatibility issues.
|
||
|
||
### Installing VERL
|
||
|
||
[VERL](../algorithm-zoo/verl.md) integrates with libraries like **PyTorch**, **vLLM**, and **VERL framework**.
|
||
Although you *can* install all dependencies automatically, we recommend doing it manually to avoid version conflicts.
|
||
|
||
```bash
|
||
pip install agentlightning[verl]
|
||
```
|
||
|
||
!!! tip "Recommended Manual Setup (More Stable)"
|
||
Automated installation may cause issues if you don’t have a compatible **PyTorch** or **CUDA** version preinstalled.
|
||
For a more stable setup, install dependencies step-by-step:
|
||
|
||
```bash
|
||
pip install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128
|
||
pip install flash-attn --no-build-isolation
|
||
pip install vllm==0.10.2
|
||
pip install verl==0.5.0
|
||
```
|
||
|
||
This approach ensures compatibility with CUDA 12.8 and minimizes dependency conflicts.
|
||
|
||
## Example-specific Installation
|
||
|
||
Each example in the `examples/` directory may have its own additional dependencies.
|
||
Please refer to the **README** file of each example for detailed setup instructions:
|
||
|
||
[See Example READMEs]({{ src("examples") }}).
|
||
|
||
## Installing from Source (for Developers and Contributors)
|
||
|
||
If you plan to contribute to Agent-Lightning or prefer to work with the latest development code, install it directly from the **source repository**.
|
||
|
||
### Why Install from Source?
|
||
|
||
* You want to **modify or contribute** to the project.
|
||
* You prefer an **isolated development environment**.
|
||
* You want to test unreleased features or fix bugs locally.
|
||
|
||
### Using `uv` for Dependency Management
|
||
|
||
Starting with version **0.2**, Agent-Lightning uses [`uv`](https://docs.astral.sh/uv/) as its **default dependency manager**.
|
||
|
||
`uv` is a fast and safe alternative to `pip` that:
|
||
|
||
* Installs packages **in seconds** (instead of minutes),
|
||
* Prevents **dependency conflicts**,
|
||
* Supports **grouped dependencies** for optional features.
|
||
|
||
Before proceeding, make sure `uv` is installed.
|
||
|
||
### Minimal Developer Installation
|
||
|
||
```bash
|
||
git clone https://github.com/microsoft/agent-lightning
|
||
cd agent-lightning
|
||
uv sync --group dev
|
||
```
|
||
|
||
This command sets up a clean development environment with only the essential dependencies.
|
||
|
||
### Installing All Extras (CPU or GPU)
|
||
|
||
`uv sync` can also handle algorithm-specific and example-specific dependencies in one step.
|
||
|
||
For a CPU-only machine:
|
||
|
||
```bash
|
||
uv sync --frozen \
|
||
--extra apo \
|
||
--extra verl \
|
||
--group dev \
|
||
--group torch-cpu \
|
||
--group torch-stable \
|
||
--group trl \
|
||
--group agents \
|
||
--no-default-groups
|
||
```
|
||
|
||
For a GPU-equipped machine that is CUDA 12.8 compatible:
|
||
|
||
```bash
|
||
uv sync --frozen \
|
||
--extra apo \
|
||
--extra verl \
|
||
--group dev \
|
||
--group torch-gpu-stable \
|
||
--group trl \
|
||
--group agents \
|
||
--no-default-groups
|
||
```
|
||
|
||
Read more about Agent-lightning managed dependency groups [here]({{ src("pyproject.toml") }}).
|
||
|
||
### Building the Dashboard
|
||
|
||
The Agent-Lightning dashboard is built using [Vite](https://vite.dev/). To build the dashboard, run the following command:
|
||
|
||
```bash
|
||
cd dashboard
|
||
npm ci
|
||
npm run build
|
||
```
|
||
|
||
Some HTML and JavaScript assets will be generated in the `agentlightning/dashboard` directory.
|
||
|
||
### Activating Your Environment
|
||
|
||
After syncing dependencies, `uv` automatically creates a virtual environment inside the `.venv/` directory.
|
||
|
||
You can use it in two ways:
|
||
|
||
```bash
|
||
# Option 1: Prefix commands with uv run
|
||
uv run python your_script.py
|
||
|
||
# Option 2: Activate the virtual environment
|
||
source .venv/bin/activate
|
||
python your_script.py
|
||
```
|
||
|
||
!!! warning "Before Contributing"
|
||
|
||
Agent-Lightning enforces code style and linting rules via **pre-commit hooks**.
|
||
Installing them early prevents many avoidable formatting issues.
|
||
|
||
```bash
|
||
uv run pre-commit install
|
||
uv run pre-commit run --all-files --show-diff-on-failure --color=always
|
||
```
|