diff --git a/llama_stack/templates/starter/run.yaml b/llama_stack/templates/starter/run.yaml index aee334b51..37f4e4c0b 100644 --- a/llama_stack/templates/starter/run.yaml +++ b/llama_stack/templates/starter/run.yaml @@ -19,11 +19,11 @@ providers: config: base_url: https://api.cerebras.ai api_key: ${env.CEREBRAS_API_KEY:=} - - provider_id: ollama + - provider_id: ${env.ENABLE_OLLAMA:=__disabled__} provider_type: remote::ollama config: url: ${env.OLLAMA_URL:=http://localhost:11434} - - provider_id: vllm + - provider_id: ${env.ENABLE_VLLM:=__disabled__} provider_type: remote::vllm config: url: ${env.VLLM_URL:=http://localhost:8000/v1} @@ -862,9 +862,9 @@ models: provider_id: ${env.ENABLE_SENTENCE_TRANSFORMERS:=sentence-transformers} model_type: embedding shields: -- shield_id: ollama +- shield_id: ${env.ENABLE_OLLAMA:=__disabled__} provider_id: llama-guard - provider_shield_id: ollama/${env.SAFETY_MODEL:=llama-guard3:1b} + provider_shield_id: ${env.ENABLE_OLLAMA:=__disabled__}/${env.SAFETY_MODEL:=llama-guard3:1b} - shield_id: fireworks provider_id: llama-guard provider_shield_id: fireworks/${env.SAFETY_MODEL:=accounts/fireworks/models/llama-guard-3-8b} diff --git a/llama_stack/templates/starter/starter.py b/llama_stack/templates/starter/starter.py index d7218b26e..8b93c3a4b 100644 --- a/llama_stack/templates/starter/starter.py +++ b/llama_stack/templates/starter/starter.py @@ -126,6 +126,11 @@ REMOTE_INFERENCE_PROVIDERS_FOR_STARTER = { "vllm", } +DEFAULT_DISABLED_PROVIDERS = { + "ollama", + "vllm", +} + def _get_model_entries_for_provider(provider_type: str) -> list[ProviderModelEntry]: """Get model entries for a specific provider type.""" @@ -232,9 +237,17 @@ def get_remote_inference_providers() -> tuple[list[Provider], dict[str, list[Pro model_entries = _get_model_entries_for_provider(provider_type) config = _get_config_for_provider(provider_spec) + if provider_type in DEFAULT_DISABLED_PROVIDERS: + # For default disabled providers, we set id to be in the form of ${env.ENABLE_OLLAMA:=__disabled__} + # And allow this to be enabled explicitly by user by setting the environment variables + env_var = f"ENABLE_{provider_type.upper().replace('-', '_').replace('::', '_')}" + provider_id = f"${{env.{env_var}:=__disabled__}}" + else: + provider_id = provider_type + inference_providers.append( Provider( - provider_id=provider_type, + provider_id=provider_id, provider_type=f"remote::{provider_type}", config=config, )