Back to Smolagents

Installation Options

docs/source/en/installation.md

1.24.06.8 KB
Original Source

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.

<hfoptions id="virtual-environment"> <hfoption id="venv">

Using venv:

bash
python -m venv .venv
source .venv/bin/activate
</hfoption> <hfoption id="uv">

Using uv:

bash
uv venv .venv
source .venv/bin/activate
</hfoption> </hfoptions>

Basic Installation

Install smolagents core library with:

<hfoptions id="installation"> <hfoption id="pip"> ```bash pip install smolagents ``` </hfoption> <hfoption id="uv"> ```bash uv pip install smolagents ``` </hfoption> </hfoptions>

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: <hfoptions id="installation"> <hfoption id="pip">

bash
pip install "smolagents[extra1,extra2]"
</hfoption> <hfoption id="uv"> ```bash uv pip install "smolagents[extra1,extra2]" ``` </hfoption> </hfoptions>

Tools

These extras include various tools and integrations: <hfoptions id="installation"> <hfoption id="pip">

  • toolkit: Install a default set of tools for common tasks.
    bash
    pip install "smolagents[toolkit]"
    
  • mcp: Add support for the Model Context Protocol (MCP) to integrate with external tools and services.
    bash
    pip install "smolagents[mcp]"
    
</hfoption> <hfoption id="uv"> - **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]" ``` </hfoption> </hfoptions>

Model Integration

These extras enable integration with various AI models and frameworks: <hfoptions id="installation"> <hfoption id="pip">

  • openai: Add support for OpenAI API models.
    bash
    pip install "smolagents[openai]"
    
  • transformers: Enable Hugging Face Transformers models.
    bash
    pip install "smolagents[transformers]"
    
  • vllm: Add VLLM support for efficient model inference.
    bash
    pip install "smolagents[vllm]"
    
  • mlx-lm: Enable support for MLX-LM models.
    bash
    pip install "smolagents[mlx-lm]"
    
  • litellm: Add LiteLLM support for lightweight model inference.
    bash
    pip install "smolagents[litellm]"
    
  • bedrock: Enable support for AWS Bedrock models.
    bash
    pip install "smolagents[bedrock]"
    
</hfoption> <hfoption id="uv"> - **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]" ``` </hfoption> </hfoptions>

Multimodal Capabilities

Extras for handling different types of media and input: <hfoptions id="installation"> <hfoption id="pip">

  • vision: Add support for image processing and computer vision tasks.
    bash
    pip install "smolagents[vision]"
    
  • audio: Enable audio processing capabilities.
    bash
    pip install "smolagents[audio]"
    
</hfoption> <hfoption id="uv"> - **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]" ``` </hfoption> </hfoptions>

Remote Execution

Extras for executing code remotely: <hfoptions id="installation"> <hfoption id="pip">

  • blaxel: Add support for Blaxel sandboxes - fast-launching VMs with hibernation (recommended).
    bash
    pip install "smolagents[blaxel]"
    
  • e2b: Enable E2B support for remote execution.
    bash
    pip install "smolagents[e2b]"
    
  • docker: Add support for executing code in Docker containers.
    bash
    pip install "smolagents[docker]"
    
</hfoption> <hfoption id="uv"> - **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]" ``` </hfoption> </hfoptions>

Telemetry and User Interface

Extras for telemetry, monitoring and user interface components: <hfoptions id="installation"> <hfoption id="pip">

  • telemetry: Add support for monitoring and tracing.
    bash
    pip install "smolagents[telemetry]"
    
  • gradio: Add support for interactive Gradio UI components.
    bash
    pip install "smolagents[gradio]"
    
</hfoption> <hfoption id="uv"> - **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]" ``` </hfoption> </hfoptions>

Complete Installation

To install all available extras, you can use: <hfoptions id="installation"> <hfoption id="pip">

bash
pip install "smolagents[all]"
</hfoption> <hfoption id="uv"> ```bash uv pip install "smolagents[all]" ``` </hfoption> </hfoptions>

Verifying Installation

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

python
import smolagents
print(smolagents.__version__)

Next Steps

Once you have successfully installed smolagents, you can: