forked from phoenix-oss/llama-stack-mirror
build: add missing dev dependencies for unit tests (#1004)
# What does this PR do? Added necessary dependencies to ensure successful execution of unit tests. Without these, the following command would fail due to missing imports: ``` uv run pytest -v -k "ollama" \ --inference-model=llama3.2:3b-instruct-fp16 llama_stack/providers/tests/inference/test_model_registration.py ``` Signed-off-by: Sébastien Han <seb@redhat.com> [//]: # (If resolving an issue, uncomment and update the line below) [//]: # (Closes #[issue-number]) ## Test Plan Run: ``` ollama run llama3.2:3b-instruct-fp16 --keepalive 2m & uv run pytest -v -k "ollama" --inference-model=llama3.2:3b-instruct-fp16 llama_stack/providers/tests/inference/test_model_registration.py ``` You can observe that some tests pass while others fail, but the test runs successfully. [//]: # (## Documentation) [//]: # (- [ ] Added a Changelog entry if the change is significant) Signed-off-by: Sébastien Han <seb@redhat.com> Co-authored-by: Ashwin Bharambe <ashwin.bharambe@gmail.com>
This commit is contained in:
parent
61f43b8677
commit
69eebaf5bf
4 changed files with 787 additions and 263 deletions
|
@ -12,6 +12,20 @@ We use `pytest` and all of its dynamism to enable the features needed. Specifica
|
|||
|
||||
- We use `pytest_collection_modifyitems` to filter tests based on the test config (if specified).
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
Your development environment should have been configured as per the instructions in the
|
||||
[CONTRIBUTING.md](../../../CONTRIBUTING.md) file. In particular, make sure to install the test extra
|
||||
dependencies. Below is the full configuration:
|
||||
|
||||
|
||||
```bash
|
||||
$ cd llama-stack
|
||||
$ uv sync --extra dev --extra test
|
||||
$ uv pip install -e .
|
||||
$ source .venv/bin/activate
|
||||
```
|
||||
|
||||
## Common options
|
||||
|
||||
All tests support a `--providers` option which can be a string of the form `api1=provider_fixture1,api2=provider_fixture2`. So, when testing safety (which need inference and safety APIs) you can use `--providers inference=together,safety=meta_reference` to use these fixtures in concert.
|
||||
|
@ -50,6 +64,9 @@ pytest -s -v llama_stack/providers/tests/inference/test_text_inference.py \
|
|||
--env FIREWORKS_API_KEY=<...>
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> If you’re using `uv`, you can isolate test executions by prefixing all commands with `uv run pytest...`.
|
||||
|
||||
## Agents
|
||||
|
||||
The Agents API composes three other APIs underneath:
|
||||
|
|
|
@ -41,6 +41,7 @@ dependencies = [
|
|||
dev = [
|
||||
"pytest",
|
||||
"pytest-asyncio",
|
||||
"pytest-html",
|
||||
"nbval", # For notebook testing
|
||||
"black",
|
||||
"ruff",
|
||||
|
@ -49,7 +50,19 @@ dev = [
|
|||
"pre-commit",
|
||||
"uvicorn",
|
||||
"fastapi",
|
||||
"ruamel.yaml", # needed for openai generator
|
||||
"ruamel.yaml", # needed for openapi generator
|
||||
]
|
||||
test = [
|
||||
"openai",
|
||||
"aiosqlite",
|
||||
"ollama",
|
||||
"torch>=2.6.0",
|
||||
"fairscale>=0.4.13",
|
||||
"torchvision>=0.21.0",
|
||||
"lm-format-enforcer>=0.10.9",
|
||||
"groq",
|
||||
"opentelemetry-sdk",
|
||||
"opentelemetry-exporter-otlp-proto-http",
|
||||
]
|
||||
docs = [
|
||||
"sphinx-autobuild",
|
||||
|
@ -79,6 +92,10 @@ name = "pytorch-cpu"
|
|||
url = "https://download.pytorch.org/whl/cpu"
|
||||
explicit = true
|
||||
|
||||
[tool.uv.sources]
|
||||
torch = [{ index = "pytorch-cpu" }]
|
||||
torchvision = [{ index = "pytorch-cpu" }]
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 120
|
||||
exclude = [
|
||||
|
|
|
@ -12,7 +12,7 @@ distro==1.9.0
|
|||
exceptiongroup==1.2.2 ; python_full_version < '3.11'
|
||||
filelock==3.17.0
|
||||
fire==0.7.0
|
||||
fsspec==2024.12.0
|
||||
fsspec==2025.2.0
|
||||
h11==0.14.0
|
||||
httpcore==1.0.7
|
||||
httpx==0.28.1
|
||||
|
@ -23,11 +23,11 @@ jsonschema==4.23.0
|
|||
jsonschema-specifications==2024.10.1
|
||||
llama-models==0.1.3
|
||||
llama-stack-client==0.1.3
|
||||
lxml==5.3.0
|
||||
lxml==5.3.1
|
||||
markdown-it-py==3.0.0
|
||||
markupsafe==3.0.2
|
||||
mdurl==0.1.2
|
||||
numpy==2.2.2
|
||||
numpy==2.2.3
|
||||
packaging==24.2
|
||||
pandas==2.2.3
|
||||
pillow==11.1.0
|
||||
|
@ -50,7 +50,7 @@ setuptools==75.8.0
|
|||
six==1.17.0
|
||||
sniffio==1.3.1
|
||||
termcolor==2.5.0
|
||||
tiktoken==0.8.0
|
||||
tiktoken==0.9.0
|
||||
tqdm==4.67.1
|
||||
typing-extensions==4.12.2
|
||||
tzdata==2025.1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue