Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions mellea/backends/vllm.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,20 @@
from collections.abc import Callable, Sequence
from typing import Any, overload

import msgspec
import outlines
import outlines_core
import torch
import vllm
from transformers import AutoTokenizer
from transformers.tokenization_utils_base import PreTrainedTokenizerBase
try:
import msgspec
import outlines
import outlines_core
import torch
import vllm
from transformers import AutoTokenizer
from transformers.tokenization_utils_base import PreTrainedTokenizerBase
except ImportError as e:
raise ImportError(
"vLLM backend dependencies are not installed. "
"Please install with: pip install mellea[vllm]\n"
"Note: vLLM is not supported on macOS. Use other backends like Ollama or HuggingFace instead."
) from e

from ..backends import ModelIdentifier
from ..core import (
Expand Down
19 changes: 13 additions & 6 deletions test/backends/test_vllm.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,19 @@
),
]

import mellea.backends.model_ids as model_ids
from mellea import MelleaSession
from mellea.backends import ModelOption
from mellea.backends.vllm import LocalVLLMBackend
from mellea.core import CBlock
from mellea.stdlib.context import ChatContext, SimpleContext
# Try to import vLLM backend - skip all tests if not available
try:
import mellea.backends.model_ids as model_ids
from mellea import MelleaSession
from mellea.backends import ModelOption
from mellea.backends.vllm import LocalVLLMBackend
from mellea.core import CBlock
from mellea.stdlib.context import ChatContext, SimpleContext
except ImportError as e:
pytest.skip(
f"vLLM backend not available: {e}. Install with: pip install mellea[vllm]",
allow_module_level=True,
)


@pytest.fixture(scope="module")
Expand Down
17 changes: 12 additions & 5 deletions test/backends/test_vllm_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,18 @@
),
]

import mellea.backends.model_ids as model_ids
from mellea import MelleaSession
from mellea.backends import ModelOption
from mellea.backends.vllm import LocalVLLMBackend
from mellea.stdlib.context import ChatContext
# Try to import vLLM backend - skip all tests if not available
try:
import mellea.backends.model_ids as model_ids
from mellea import MelleaSession
from mellea.backends import ModelOption
from mellea.backends.vllm import LocalVLLMBackend
from mellea.stdlib.context import ChatContext
except ImportError as e:
pytest.skip(
f"vLLM backend not available: {e}. Install with: pip install mellea[vllm]",
allow_module_level=True,
)


@pytest.fixture(scope="module")
Expand Down