llama-stack-mirror/tests/unit
skamenan7 474b50b422 Add configurable embedding models for vector IO providers
This change lets users configure default embedding models at the provider level instead of always relying on system defaults. Each vector store provider can now specify an embedding_model and optional embedding_dimension in their config.

Key features:
- Auto-dimension lookup for standard models from the registry
- Support for Matryoshka embeddings with custom dimensions
- Three-tier priority: explicit params > provider config > system fallback
- Full backward compatibility - existing setups work unchanged
- Comprehensive test coverage with 20 test cases

Updated all vector IO providers (FAISS, Chroma, Milvus, Qdrant, etc.) with the new config fields and added detailed documentation with examples.

Fixes #2729
2025-07-15 16:46:40 -04:00
..
cli chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
distribution chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
files chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
models test(models): convert decode_assistant_message test from unittest to pytest 2025-07-15 11:47:05 -04:00
providers Add configurable embedding models for vector IO providers 2025-07-15 16:46:40 -04:00
rag feat: add input validation for search mode of rag query config (#2275) 2025-07-14 09:11:34 -04:00
registry chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
server chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
utils chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
__init__.py chore: Add fixtures to conftest.py (#2067) 2025-05-06 13:57:48 +02:00
conftest.py chore: block network access from unit tests (#2732) 2025-07-12 16:53:54 -07:00
fixtures.py chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
README.md chore: bump python supported version to 3.12 (#2475) 2025-06-24 09:22:04 +05:30

Llama Stack Unit Tests

You can run the unit tests by running:

source .venv/bin/activate
./scripts/unit-tests.sh [PYTEST_ARGS]

Any additional arguments are passed to pytest. For example, you can specify a test directory, a specific test file, or any pytest flags (e.g., -vvv for verbosity). If no test directory is specified, it defaults to "tests/unit", e.g:

./scripts/unit-tests.sh tests/unit/registry/test_registry.py -vvv

If you'd like to run for a non-default version of Python (currently 3.12), pass PYTHON_VERSION variable as follows:

source .venv/bin/activate
PYTHON_VERSION=3.13 ./scripts/unit-tests.sh