mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-04 20:14:13 +00:00
moved llist of apis to global variable and imported in test
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
This commit is contained in:
parent
e3d98059fc
commit
6db4c39401
2 changed files with 18 additions and 10 deletions
|
@ -26,6 +26,9 @@ from llama_stack.providers.datatypes import (
|
||||||
logger = get_logger(name=__name__, category="core")
|
logger = get_logger(name=__name__, category="core")
|
||||||
|
|
||||||
|
|
||||||
|
INTERNAL_APIS = {Api.inspect, Api.providers, Api.prompts}
|
||||||
|
|
||||||
|
|
||||||
def stack_apis() -> list[Api]:
|
def stack_apis() -> list[Api]:
|
||||||
return list(Api)
|
return list(Api)
|
||||||
|
|
||||||
|
@ -70,8 +73,7 @@ def builtin_automatically_routed_apis() -> list[AutoRoutedApiInfo]:
|
||||||
|
|
||||||
def providable_apis() -> list[Api]:
|
def providable_apis() -> list[Api]:
|
||||||
routing_table_apis = {x.routing_table_api for x in builtin_automatically_routed_apis()}
|
routing_table_apis = {x.routing_table_api for x in builtin_automatically_routed_apis()}
|
||||||
internal_apis = {Api.inspect, Api.providers, Api.prompts}
|
return [api for api in Api if api not in routing_table_apis and api not in INTERNAL_APIS]
|
||||||
return [api for api in Api if api not in routing_table_apis and api not in internal_apis]
|
|
||||||
|
|
||||||
|
|
||||||
def _load_remote_provider_spec(spec_data: dict[str, Any], api: Api) -> ProviderSpec:
|
def _load_remote_provider_spec(spec_data: dict[str, Any], api: Api) -> ProviderSpec:
|
||||||
|
|
|
@ -12,7 +12,7 @@ import yaml
|
||||||
from pydantic import BaseModel, Field, ValidationError
|
from pydantic import BaseModel, Field, ValidationError
|
||||||
|
|
||||||
from llama_stack.core.datatypes import Api, Provider, StackRunConfig
|
from llama_stack.core.datatypes import Api, Provider, StackRunConfig
|
||||||
from llama_stack.core.distribution import get_provider_registry, providable_apis
|
from llama_stack.core.distribution import INTERNAL_APIS, get_provider_registry, providable_apis
|
||||||
from llama_stack.providers.datatypes import ProviderSpec
|
from llama_stack.providers.datatypes import ProviderSpec
|
||||||
|
|
||||||
|
|
||||||
|
@ -153,16 +153,22 @@ class TestProviderRegistry:
|
||||||
assert registry[Api.inference]["test_provider"].api == Api.inference
|
assert registry[Api.inference]["test_provider"].api == Api.inference
|
||||||
|
|
||||||
def test_internal_apis_excluded(self):
|
def test_internal_apis_excluded(self):
|
||||||
"""Test that internal APIs are excluded and other APIs are included in providable APIs."""
|
"""Test that internal APIs are excluded and APIs without provider registries are marked as internal."""
|
||||||
apis = providable_apis()
|
import importlib
|
||||||
internal_apis = {Api.inspect, Api.providers, Api.prompts}
|
|
||||||
|
|
||||||
for internal_api in internal_apis:
|
apis = providable_apis()
|
||||||
|
|
||||||
|
for internal_api in INTERNAL_APIS:
|
||||||
assert internal_api not in apis, f"Internal API {internal_api} should not be in providable_apis"
|
assert internal_api not in apis, f"Internal API {internal_api} should not be in providable_apis"
|
||||||
|
|
||||||
included_apis = {Api.inference, Api.safety, Api.agents}
|
for api in apis:
|
||||||
for api in included_apis:
|
module_name = f"llama_stack.providers.registry.{api.name.lower()}"
|
||||||
assert api in apis, f"API {api} should be in providable_apis"
|
try:
|
||||||
|
importlib.import_module(module_name)
|
||||||
|
except ImportError as err:
|
||||||
|
raise AssertionError(
|
||||||
|
f"API {api} is in providable_apis but has no provider registry module ({module_name})"
|
||||||
|
) from err
|
||||||
|
|
||||||
def test_external_remote_providers(self, api_directories, mock_providers, base_config, provider_spec_yaml):
|
def test_external_remote_providers(self, api_directories, mock_providers, base_config, provider_spec_yaml):
|
||||||
"""Test loading external remote providers from YAML files."""
|
"""Test loading external remote providers from YAML files."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue