smolagents-audit/docs/source/en/installation.md
Mathis Joffre 8e934739a0
Add Blaxel support for remote code execution (#1791)
Co-authored-by: cploujoux <ch.ploujoux@gmail.com>
Co-authored-by: Hugo Larcher <hugo.larcher@huggingface.co>
2025-11-12 16:04:05 +01:00

6.8 KiB

Installation Options

The smolagents library can be installed using pip. Here are the different installation methods and options available.

Prerequisites

  • Python 3.10 or newer
  • Python package manager: pip or uv

Virtual Environment

It's strongly recommended to install smolagents within a Python virtual environment. Virtual environments isolate your project dependencies from other Python projects and your system Python installation, preventing version conflicts and making package management more reliable.

Using venv:

python -m venv .venv
source .venv/bin/activate

Using uv:

uv venv .venv
source .venv/bin/activate

Basic Installation

Install smolagents core library with:

```bash pip install smolagents ``` ```bash uv pip install smolagents ```

Installation with Extras

smolagents provides several optional dependencies (extras) that can be installed based on your needs. You can install these extras using the following syntax:

pip install "smolagents[extra1,extra2]"
```bash uv pip install "smolagents[extra1,extra2]" ```

Tools

These extras include various tools and integrations:

  • toolkit: Install a default set of tools for common tasks.
    pip install "smolagents[toolkit]"
    
  • mcp: Add support for the Model Context Protocol (MCP) to integrate with external tools and services.
    pip install "smolagents[mcp]"
    
- **toolkit**: Install a default set of tools for common tasks. ```bash uv pip install "smolagents[toolkit]" ``` - **mcp**: Add support for the Model Context Protocol (MCP) to integrate with external tools and services. ```bash uv pip install "smolagents[mcp]" ```

Model Integration

These extras enable integration with various AI models and frameworks:

  • openai: Add support for OpenAI API models.
    pip install "smolagents[openai]"
    
  • transformers: Enable Hugging Face Transformers models.
    pip install "smolagents[transformers]"
    
  • vllm: Add VLLM support for efficient model inference.
    pip install "smolagents[vllm]"
    
  • mlx-lm: Enable support for MLX-LM models.
    pip install "smolagents[mlx-lm]"
    
  • litellm: Add LiteLLM support for lightweight model inference.
    pip install "smolagents[litellm]"
    
  • bedrock: Enable support for AWS Bedrock models.
    pip install "smolagents[bedrock]"
    
- **openai**: Add support for OpenAI API models. ```bash uv pip install "smolagents[openai]" ``` - **transformers**: Enable Hugging Face Transformers models. ```bash uv pip install "smolagents[transformers]" ``` - **vllm**: Add VLLM support for efficient model inference. ```bash uv pip install "smolagents[vllm]" ``` - **mlx-lm**: Enable support for MLX-LM models. ```bash uv pip install "smolagents[mlx-lm]" ``` - **litellm**: Add LiteLLM support for lightweight model inference. ```bash uv pip install "smolagents[litellm]" ``` - **bedrock**: Enable support for AWS Bedrock models. ```bash uv pip install "smolagents[bedrock]" ```

Multimodal Capabilities

Extras for handling different types of media and input:

  • vision: Add support for image processing and computer vision tasks.
    pip install "smolagents[vision]"
    
  • audio: Enable audio processing capabilities.
    pip install "smolagents[audio]"
    
- **vision**: Add support for image processing and computer vision tasks. ```bash uv pip install "smolagents[vision]" ``` - **audio**: Enable audio processing capabilities. ```bash uv pip install "smolagents[audio]" ```

Remote Execution

Extras for executing code remotely:

  • blaxel: Add support for Blaxel sandboxes - fast-launching VMs with hibernation (recommended).
    pip install "smolagents[blaxel]"
    
  • e2b: Enable E2B support for remote execution.
    pip install "smolagents[e2b]"
    
  • docker: Add support for executing code in Docker containers.
    pip install "smolagents[docker]"
    
- **blaxel**: Add support for Blaxel sandboxes - fast-launching VMs with hibernation (recommended). ```bash uv pip install "smolagents[blaxel]" ``` - **e2b**: Enable E2B support for remote execution. ```bash uv pip install "smolagents[e2b]" ``` - **docker**: Add support for executing code in Docker containers. ```bash uv pip install "smolagents[docker]" ```

Telemetry and User Interface

Extras for telemetry, monitoring and user interface components:

  • telemetry: Add support for monitoring and tracing.
    pip install "smolagents[telemetry]"
    
  • gradio: Add support for interactive Gradio UI components.
    pip install "smolagents[gradio]"
    
- **telemetry**: Add support for monitoring and tracing. ```bash uv pip install "smolagents[telemetry]" ``` - **gradio**: Add support for interactive Gradio UI components. ```bash uv pip install "smolagents[gradio]" ```

Complete Installation

To install all available extras, you can use:

pip install "smolagents[all]"
```bash uv pip install "smolagents[all]" ```

Verifying Installation

After installation, you can verify that smolagents is installed correctly by running:

import smolagents
print(smolagents.__version__)

Next Steps

Once you have successfully installed smolagents, you can: