forked from phoenix-oss/llama-stack-mirror
Fix test infra, sentence embeddings mixin
This commit is contained in:
parent
182608d4bf
commit
e7d261ef4a
4 changed files with 12 additions and 34 deletions
|
@ -230,10 +230,9 @@ class AsyncLlamaStackAsLibraryClient(AsyncLlamaStackClient):
|
||||||
if Api.telemetry in self.impls:
|
if Api.telemetry in self.impls:
|
||||||
setup_logger(self.impls[Api.telemetry])
|
setup_logger(self.impls[Api.telemetry])
|
||||||
|
|
||||||
|
if not os.environ.get("PYTEST_CURRENT_TEST"):
|
||||||
console = Console()
|
console = Console()
|
||||||
console.print(f"Using config [blue]{self.config_path_or_template_name}[/blue]:")
|
console.print(f"Using config [blue]{self.config_path_or_template_name}[/blue]:")
|
||||||
|
|
||||||
# Redact sensitive information before printing
|
|
||||||
safe_config = redact_sensitive_fields(self.config.model_dump())
|
safe_config = redact_sensitive_fields(self.config.model_dump())
|
||||||
console.print(yaml.dump(safe_config, indent=2))
|
console.print(yaml.dump(safe_config, indent=2))
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ from llama_stack.apis.inference import (
|
||||||
ModelStore,
|
ModelStore,
|
||||||
TextTruncation,
|
TextTruncation,
|
||||||
)
|
)
|
||||||
|
from llama_stack.providers.utils.inference.prompt_adapter import interleaved_content_as_str
|
||||||
|
|
||||||
EMBEDDING_MODELS = {}
|
EMBEDDING_MODELS = {}
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ class SentenceTransformerEmbeddingMixin:
|
||||||
) -> EmbeddingsResponse:
|
) -> EmbeddingsResponse:
|
||||||
model = await self.model_store.get_model(model_id)
|
model = await self.model_store.get_model(model_id)
|
||||||
embedding_model = self._load_sentence_transformer_model(model.provider_resource_id)
|
embedding_model = self._load_sentence_transformer_model(model.provider_resource_id)
|
||||||
embeddings = embedding_model.encode(contents)
|
embeddings = embedding_model.encode([interleaved_content_as_str(content) for content in contents])
|
||||||
return EmbeddingsResponse(embeddings=embeddings)
|
return EmbeddingsResponse(embeddings=embeddings)
|
||||||
|
|
||||||
def _load_sentence_transformer_model(self, model: str) -> "SentenceTransformer":
|
def _load_sentence_transformer_model(self, model: str) -> "SentenceTransformer":
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under the terms described in the LICENSE file in
|
|
||||||
# the root directory of this source tree.
|
|
||||||
|
|
||||||
|
|
||||||
def pytest_addoption(parser):
|
|
||||||
parser.addoption(
|
|
||||||
"--embedding-model",
|
|
||||||
action="store",
|
|
||||||
default="all-MiniLM-L6-v2",
|
|
||||||
help="Specify the embedding model to use for testing",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def pytest_generate_tests(metafunc):
|
|
||||||
if "embedding_model" in metafunc.fixturenames:
|
|
||||||
metafunc.parametrize(
|
|
||||||
"embedding_model",
|
|
||||||
[metafunc.config.getoption("--embedding-model")],
|
|
||||||
)
|
|
|
@ -36,12 +36,12 @@ def single_entry_vector_db_registry(llama_stack_client, empty_vector_db_registry
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
||||||
def test_vector_db_retrieve(llama_stack_client, embedding_model, empty_vector_db_registry, provider_id):
|
def test_vector_db_retrieve(llama_stack_client, embedding_model_id, empty_vector_db_registry, provider_id):
|
||||||
# Register a memory bank first
|
# Register a memory bank first
|
||||||
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
||||||
llama_stack_client.vector_dbs.register(
|
llama_stack_client.vector_dbs.register(
|
||||||
vector_db_id=vector_db_id,
|
vector_db_id=vector_db_id,
|
||||||
embedding_model=embedding_model,
|
embedding_model=embedding_model_id,
|
||||||
embedding_dimension=384,
|
embedding_dimension=384,
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
)
|
)
|
||||||
|
@ -50,7 +50,7 @@ def test_vector_db_retrieve(llama_stack_client, embedding_model, empty_vector_db
|
||||||
response = llama_stack_client.vector_dbs.retrieve(vector_db_id=vector_db_id)
|
response = llama_stack_client.vector_dbs.retrieve(vector_db_id=vector_db_id)
|
||||||
assert response is not None
|
assert response is not None
|
||||||
assert response.identifier == vector_db_id
|
assert response.identifier == vector_db_id
|
||||||
assert response.embedding_model == embedding_model
|
assert response.embedding_model == embedding_model_id
|
||||||
assert response.provider_id == provider_id
|
assert response.provider_id == provider_id
|
||||||
assert response.provider_resource_id == vector_db_id
|
assert response.provider_resource_id == vector_db_id
|
||||||
|
|
||||||
|
@ -61,11 +61,11 @@ def test_vector_db_list(llama_stack_client, empty_vector_db_registry):
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
||||||
def test_vector_db_register(llama_stack_client, embedding_model, empty_vector_db_registry, provider_id):
|
def test_vector_db_register(llama_stack_client, embedding_model_id, empty_vector_db_registry, provider_id):
|
||||||
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
||||||
llama_stack_client.vector_dbs.register(
|
llama_stack_client.vector_dbs.register(
|
||||||
vector_db_id=vector_db_id,
|
vector_db_id=vector_db_id,
|
||||||
embedding_model=embedding_model,
|
embedding_model=embedding_model_id,
|
||||||
embedding_dimension=384,
|
embedding_dimension=384,
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue