diff --git a/docs/source/distributions/configuration.md b/docs/source/distributions/configuration.md index 9d201ad36..0a0ce994f 100644 --- a/docs/source/distributions/configuration.md +++ b/docs/source/distributions/configuration.md @@ -125,7 +125,7 @@ config: ``` If the environment variable is not set, the default value `http://localhost:11434` will be used. -Empty defaults are not allowed so `url: ${env.OLLAMA_URL:=}` will raise an error if the environment variable is not set. +Empty defaults are allowed so `url: ${env.OLLAMA_URL:=}` will be set to `None` if the environment variable is not set. #### Conditional Values @@ -139,8 +139,10 @@ config: If the environment variable is set, the value after `:+` will be used. If it's not set, the field will be omitted with a `None` value. -So `${env.ENVIRONMENT:+}` is supported, it means that the field will be omitted if the environment -variable is not set. It can be used to make a field optional and then enabled at runtime when desired. + +Do not use conditional values (`${env.OLLAMA_URL:+}`) for empty defaults (`${env.OLLAMA_URL:=}`). +This will be set to `None` if the environment variable is not set. +Conditional must only be used when the environment variable is set. #### Examples diff --git a/docs/source/providers/datasetio/remote_nvidia.md b/docs/source/providers/datasetio/remote_nvidia.md index b5a672a54..1ad1cdb32 100644 --- a/docs/source/providers/datasetio/remote_nvidia.md +++ b/docs/source/providers/datasetio/remote_nvidia.md @@ -16,7 +16,7 @@ NVIDIA's dataset I/O provider for accessing datasets from NVIDIA's data platform ## Sample Configuration ```yaml -api_key: ${env.NVIDIA_API_KEY:+} +api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} datasets_url: ${env.NVIDIA_DATASETS_URL:=http://nemo.test} diff --git a/docs/source/providers/inference/remote_nvidia.md b/docs/source/providers/inference/remote_nvidia.md index eca2ec544..1b12839df 100644 --- a/docs/source/providers/inference/remote_nvidia.md +++ b/docs/source/providers/inference/remote_nvidia.md @@ -17,7 +17,7 @@ NVIDIA inference provider for accessing NVIDIA NIM models and AI services. ```yaml url: ${env.NVIDIA_BASE_URL:=https://integrate.api.nvidia.com} -api_key: ${env.NVIDIA_API_KEY:+} +api_key: ${env.NVIDIA_API_KEY:=} append_api_version: ${env.NVIDIA_APPEND_API_VERSION:=True} ``` diff --git a/docs/source/providers/inference/remote_runpod.md b/docs/source/providers/inference/remote_runpod.md index b543606d5..375c3f3a1 100644 --- a/docs/source/providers/inference/remote_runpod.md +++ b/docs/source/providers/inference/remote_runpod.md @@ -14,8 +14,8 @@ RunPod inference provider for running models on RunPod's cloud GPU platform. ## Sample Configuration ```yaml -url: ${env.RUNPOD_URL:+} -api_token: ${env.RUNPOD_API_TOKEN:+} +url: ${env.RUNPOD_URL:=} +api_token: ${env.RUNPOD_API_TOKEN:=} ``` diff --git a/docs/source/providers/inference/remote_together.md b/docs/source/providers/inference/remote_together.md index 4e0e0a9ce..1e19021d2 100644 --- a/docs/source/providers/inference/remote_together.md +++ b/docs/source/providers/inference/remote_together.md @@ -15,7 +15,7 @@ Together AI inference provider for open-source models and collaborative AI devel ```yaml url: https://api.together.xyz/v1 -api_key: ${env.TOGETHER_API_KEY:+} +api_key: ${env.TOGETHER_API_KEY:=} ``` diff --git a/docs/source/providers/inference/remote_watsonx.md b/docs/source/providers/inference/remote_watsonx.md index fce0373fa..0eb8a6fc4 100644 --- a/docs/source/providers/inference/remote_watsonx.md +++ b/docs/source/providers/inference/remote_watsonx.md @@ -17,8 +17,8 @@ IBM WatsonX inference provider for accessing AI models on IBM's WatsonX platform ```yaml url: ${env.WATSONX_BASE_URL:=https://us-south.ml.cloud.ibm.com} -api_key: ${env.WATSONX_API_KEY:+} -project_id: ${env.WATSONX_PROJECT_ID:+} +api_key: ${env.WATSONX_API_KEY:=} +project_id: ${env.WATSONX_PROJECT_ID:=} ``` diff --git a/docs/source/providers/post_training/remote_nvidia.md b/docs/source/providers/post_training/remote_nvidia.md index 050afb763..9a381d872 100644 --- a/docs/source/providers/post_training/remote_nvidia.md +++ b/docs/source/providers/post_training/remote_nvidia.md @@ -19,7 +19,7 @@ NVIDIA's post-training provider for fine-tuning models on NVIDIA's platform. ## Sample Configuration ```yaml -api_key: ${env.NVIDIA_API_KEY:+} +api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} customizer_url: ${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test} diff --git a/docs/source/providers/scoring/inline_braintrust.md b/docs/source/providers/scoring/inline_braintrust.md index dae0f246e..70a6a1e26 100644 --- a/docs/source/providers/scoring/inline_braintrust.md +++ b/docs/source/providers/scoring/inline_braintrust.md @@ -13,7 +13,7 @@ Braintrust scoring provider for evaluation and scoring using the Braintrust plat ## Sample Configuration ```yaml -openai_api_key: ${env.OPENAI_API_KEY:+} +openai_api_key: ${env.OPENAI_API_KEY:=} ``` diff --git a/docs/source/providers/tool_runtime/remote_brave-search.md b/docs/source/providers/tool_runtime/remote_brave-search.md index db10fdc4f..26bc4010d 100644 --- a/docs/source/providers/tool_runtime/remote_brave-search.md +++ b/docs/source/providers/tool_runtime/remote_brave-search.md @@ -14,7 +14,7 @@ Brave Search tool for web search capabilities with privacy-focused results. ## Sample Configuration ```yaml -api_key: ${env.BRAVE_SEARCH_API_KEY:+} +api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 ``` diff --git a/docs/source/providers/tool_runtime/remote_tavily-search.md b/docs/source/providers/tool_runtime/remote_tavily-search.md index 7d1c7fd7f..3dc31534d 100644 --- a/docs/source/providers/tool_runtime/remote_tavily-search.md +++ b/docs/source/providers/tool_runtime/remote_tavily-search.md @@ -14,7 +14,7 @@ Tavily Search tool for AI-optimized web search with structured results. ## Sample Configuration ```yaml -api_key: ${env.TAVILY_SEARCH_API_KEY:+} +api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 ``` diff --git a/docs/source/providers/tool_runtime/remote_wolfram-alpha.md b/docs/source/providers/tool_runtime/remote_wolfram-alpha.md index d44c93f72..325c189fd 100644 --- a/docs/source/providers/tool_runtime/remote_wolfram-alpha.md +++ b/docs/source/providers/tool_runtime/remote_wolfram-alpha.md @@ -13,7 +13,7 @@ Wolfram Alpha tool for computational knowledge and mathematical calculations. ## Sample Configuration ```yaml -api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} +api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} ``` diff --git a/llama_stack/distribution/stack.py b/llama_stack/distribution/stack.py index c86880669..9d873ea15 100644 --- a/llama_stack/distribution/stack.py +++ b/llama_stack/distribution/stack.py @@ -166,20 +166,31 @@ def replace_env_vars(config: Any, path: str = "") -> Any: env_value = os.environ.get(env_var) if operator == "=": # Default value syntax: ${env.FOO:=default} - if not env_value: + # If the env is set like ${env.FOO:=default} then use the env value when set + if env_value: + value = env_value + else: + # If the env is not set, look for a default value # value_expr returns empty string (not None) when not matched - # This means ${env.FOO:=} is an error + # This means ${env.FOO:=} and it's accepted and returns empty string - just like bash if value_expr == "": - raise EnvVarError(env_var, path) + return "" else: value = value_expr - else: - value = env_value + elif operator == "+": # Conditional value syntax: ${env.FOO:+value_if_set} + # If the env is set like ${env.FOO:+value_if_set} then use the value_if_set if env_value: - value = value_expr + if value_expr: + value = value_expr + # This means ${env.FOO:+} + else: + # Just like bash, this doesn't care whether the env is set or not and applies + # the value, in this case the empty string + return "" else: - # If env var is not set, return empty string for the conditional case + # Just like bash, this doesn't care whether the env is set or not, since it's not set + # we return an empty string value = "" else: # No operator case: ${env.FOO} if not env_value: diff --git a/llama_stack/providers/inline/scoring/braintrust/config.py b/llama_stack/providers/inline/scoring/braintrust/config.py index f44d27f96..057f0ba5d 100644 --- a/llama_stack/providers/inline/scoring/braintrust/config.py +++ b/llama_stack/providers/inline/scoring/braintrust/config.py @@ -17,5 +17,5 @@ class BraintrustScoringConfig(BaseModel): @classmethod def sample_run_config(cls, **kwargs) -> dict[str, Any]: return { - "openai_api_key": "${env.OPENAI_API_KEY:+}", + "openai_api_key": "${env.OPENAI_API_KEY:=}", } diff --git a/llama_stack/providers/remote/datasetio/nvidia/config.py b/llama_stack/providers/remote/datasetio/nvidia/config.py index 0f5ea22e9..addce6c1f 100644 --- a/llama_stack/providers/remote/datasetio/nvidia/config.py +++ b/llama_stack/providers/remote/datasetio/nvidia/config.py @@ -54,7 +54,7 @@ class NvidiaDatasetIOConfig(BaseModel): @classmethod def sample_run_config(cls, **kwargs) -> dict[str, Any]: return { - "api_key": "${env.NVIDIA_API_KEY:+}", + "api_key": "${env.NVIDIA_API_KEY:=}", "dataset_namespace": "${env.NVIDIA_DATASET_NAMESPACE:=default}", "project_id": "${env.NVIDIA_PROJECT_ID:=test-project}", "datasets_url": "${env.NVIDIA_DATASETS_URL:=http://nemo.test}", diff --git a/llama_stack/providers/remote/inference/nvidia/config.py b/llama_stack/providers/remote/inference/nvidia/config.py index 0f45269c8..e1b791719 100644 --- a/llama_stack/providers/remote/inference/nvidia/config.py +++ b/llama_stack/providers/remote/inference/nvidia/config.py @@ -53,9 +53,15 @@ class NVIDIAConfig(BaseModel): ) @classmethod - def sample_run_config(cls, **kwargs) -> dict[str, Any]: + def sample_run_config( + cls, + url: str = "${env.NVIDIA_BASE_URL:=https://integrate.api.nvidia.com}", + api_key: str = "${env.NVIDIA_API_KEY:=}", + append_api_version: bool = "${env.NVIDIA_APPEND_API_VERSION:=True}", + **kwargs, + ) -> dict[str, Any]: return { - "url": "${env.NVIDIA_BASE_URL:=https://integrate.api.nvidia.com}", - "api_key": "${env.NVIDIA_API_KEY:+}", - "append_api_version": "${env.NVIDIA_APPEND_API_VERSION:=True}", + "url": url, + "api_key": api_key, + "append_api_version": append_api_version, } diff --git a/llama_stack/providers/remote/inference/runpod/config.py b/llama_stack/providers/remote/inference/runpod/config.py index ff32a971c..76a6759ee 100644 --- a/llama_stack/providers/remote/inference/runpod/config.py +++ b/llama_stack/providers/remote/inference/runpod/config.py @@ -25,6 +25,6 @@ class RunpodImplConfig(BaseModel): @classmethod def sample_run_config(cls, **kwargs: Any) -> dict[str, Any]: return { - "url": "${env.RUNPOD_URL:+}", - "api_token": "${env.RUNPOD_API_TOKEN:+}", + "url": "${env.RUNPOD_URL:=}", + "api_token": "${env.RUNPOD_API_TOKEN:=}", } diff --git a/llama_stack/providers/remote/inference/together/config.py b/llama_stack/providers/remote/inference/together/config.py index 121e2cae7..de80d3d3c 100644 --- a/llama_stack/providers/remote/inference/together/config.py +++ b/llama_stack/providers/remote/inference/together/config.py @@ -26,5 +26,5 @@ class TogetherImplConfig(BaseModel): def sample_run_config(cls, **kwargs) -> dict[str, Any]: return { "url": "https://api.together.xyz/v1", - "api_key": "${env.TOGETHER_API_KEY:+}", + "api_key": "${env.TOGETHER_API_KEY:=}", } diff --git a/llama_stack/providers/remote/inference/watsonx/config.py b/llama_stack/providers/remote/inference/watsonx/config.py index 9534eceeb..ae4bd55c1 100644 --- a/llama_stack/providers/remote/inference/watsonx/config.py +++ b/llama_stack/providers/remote/inference/watsonx/config.py @@ -41,6 +41,6 @@ class WatsonXConfig(BaseModel): def sample_run_config(cls, **kwargs) -> dict[str, Any]: return { "url": "${env.WATSONX_BASE_URL:=https://us-south.ml.cloud.ibm.com}", - "api_key": "${env.WATSONX_API_KEY:+}", - "project_id": "${env.WATSONX_PROJECT_ID:+}", + "api_key": "${env.WATSONX_API_KEY:=}", + "project_id": "${env.WATSONX_PROJECT_ID:=}", } diff --git a/llama_stack/providers/remote/post_training/nvidia/config.py b/llama_stack/providers/remote/post_training/nvidia/config.py index ea6dff0b5..83d7b49e6 100644 --- a/llama_stack/providers/remote/post_training/nvidia/config.py +++ b/llama_stack/providers/remote/post_training/nvidia/config.py @@ -55,7 +55,7 @@ class NvidiaPostTrainingConfig(BaseModel): @classmethod def sample_run_config(cls, **kwargs) -> dict[str, Any]: return { - "api_key": "${env.NVIDIA_API_KEY:+}", + "api_key": "${env.NVIDIA_API_KEY:=}", "dataset_namespace": "${env.NVIDIA_DATASET_NAMESPACE:=default}", "project_id": "${env.NVIDIA_PROJECT_ID:=test-project}", "customizer_url": "${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test}", diff --git a/llama_stack/providers/remote/tool_runtime/brave_search/config.py b/llama_stack/providers/remote/tool_runtime/brave_search/config.py index 93b97a1b2..f02967ce8 100644 --- a/llama_stack/providers/remote/tool_runtime/brave_search/config.py +++ b/llama_stack/providers/remote/tool_runtime/brave_search/config.py @@ -22,6 +22,6 @@ class BraveSearchToolConfig(BaseModel): @classmethod def sample_run_config(cls, __distro_dir__: str) -> dict[str, Any]: return { - "api_key": "${env.BRAVE_SEARCH_API_KEY:+}", + "api_key": "${env.BRAVE_SEARCH_API_KEY:=}", "max_results": 3, } diff --git a/llama_stack/providers/remote/tool_runtime/tavily_search/config.py b/llama_stack/providers/remote/tool_runtime/tavily_search/config.py index 5bdd27807..ca4e615db 100644 --- a/llama_stack/providers/remote/tool_runtime/tavily_search/config.py +++ b/llama_stack/providers/remote/tool_runtime/tavily_search/config.py @@ -22,6 +22,6 @@ class TavilySearchToolConfig(BaseModel): @classmethod def sample_run_config(cls, __distro_dir__: str) -> dict[str, Any]: return { - "api_key": "${env.TAVILY_SEARCH_API_KEY:+}", + "api_key": "${env.TAVILY_SEARCH_API_KEY:=}", "max_results": 3, } diff --git a/llama_stack/providers/remote/tool_runtime/wolfram_alpha/config.py b/llama_stack/providers/remote/tool_runtime/wolfram_alpha/config.py index b5b10e371..457661c06 100644 --- a/llama_stack/providers/remote/tool_runtime/wolfram_alpha/config.py +++ b/llama_stack/providers/remote/tool_runtime/wolfram_alpha/config.py @@ -17,5 +17,5 @@ class WolframAlphaToolConfig(BaseModel): @classmethod def sample_run_config(cls, __distro_dir__: str, **kwargs: Any) -> dict[str, Any]: return { - "api_key": "${env.WOLFRAM_ALPHA_API_KEY:+}", + "api_key": "${env.WOLFRAM_ALPHA_API_KEY:=}", } diff --git a/llama_stack/templates/bedrock/run.yaml b/llama_stack/templates/bedrock/run.yaml index 61bc83f02..f12c5bec5 100644 --- a/llama_stack/templates/bedrock/run.yaml +++ b/llama_stack/templates/bedrock/run.yaml @@ -78,17 +78,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/cerebras/run.yaml b/llama_stack/templates/cerebras/run.yaml index 9bd8fcc7c..c3877ddce 100644 --- a/llama_stack/templates/cerebras/run.yaml +++ b/llama_stack/templates/cerebras/run.yaml @@ -77,7 +77,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -89,12 +89,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/ci-tests/run.yaml b/llama_stack/templates/ci-tests/run.yaml index 4b7de1c0c..a38d09324 100644 --- a/llama_stack/templates/ci-tests/run.yaml +++ b/llama_stack/templates/ci-tests/run.yaml @@ -81,17 +81,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/dell/run-with-safety.yaml b/llama_stack/templates/dell/run-with-safety.yaml index 7f1d0a8c0..48639c772 100644 --- a/llama_stack/templates/dell/run-with-safety.yaml +++ b/llama_stack/templates/dell/run-with-safety.yaml @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/dell/run.yaml b/llama_stack/templates/dell/run.yaml index 310f3cc20..13d43530b 100644 --- a/llama_stack/templates/dell/run.yaml +++ b/llama_stack/templates/dell/run.yaml @@ -80,17 +80,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/fireworks/run-with-safety.yaml b/llama_stack/templates/fireworks/run-with-safety.yaml index 6265f5cae..ecb53a18d 100644 --- a/llama_stack/templates/fireworks/run-with-safety.yaml +++ b/llama_stack/templates/fireworks/run-with-safety.yaml @@ -90,7 +90,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -103,17 +103,17 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} diff --git a/llama_stack/templates/fireworks/run.yaml b/llama_stack/templates/fireworks/run.yaml index e10404e92..298d28d52 100644 --- a/llama_stack/templates/fireworks/run.yaml +++ b/llama_stack/templates/fireworks/run.yaml @@ -85,7 +85,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -98,17 +98,17 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} diff --git a/llama_stack/templates/groq/run.yaml b/llama_stack/templates/groq/run.yaml index 21c8f7e0f..13bb65ed2 100644 --- a/llama_stack/templates/groq/run.yaml +++ b/llama_stack/templates/groq/run.yaml @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/hf-endpoint/run-with-safety.yaml b/llama_stack/templates/hf-endpoint/run-with-safety.yaml index 2ae1d7685..b2bc6a8e9 100644 --- a/llama_stack/templates/hf-endpoint/run-with-safety.yaml +++ b/llama_stack/templates/hf-endpoint/run-with-safety.yaml @@ -89,17 +89,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/hf-endpoint/run.yaml b/llama_stack/templates/hf-endpoint/run.yaml index 3ec5ae9c1..d62921ccc 100644 --- a/llama_stack/templates/hf-endpoint/run.yaml +++ b/llama_stack/templates/hf-endpoint/run.yaml @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/hf-serverless/run-with-safety.yaml b/llama_stack/templates/hf-serverless/run-with-safety.yaml index 3871b77e7..d7ff4f446 100644 --- a/llama_stack/templates/hf-serverless/run-with-safety.yaml +++ b/llama_stack/templates/hf-serverless/run-with-safety.yaml @@ -89,17 +89,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/hf-serverless/run.yaml b/llama_stack/templates/hf-serverless/run.yaml index 0a5b59400..19484cba6 100644 --- a/llama_stack/templates/hf-serverless/run.yaml +++ b/llama_stack/templates/hf-serverless/run.yaml @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/llama_api/llama_api.py b/llama_stack/templates/llama_api/llama_api.py index 7631781af..485b4fc9d 100644 --- a/llama_stack/templates/llama_api/llama_api.py +++ b/llama_stack/templates/llama_api/llama_api.py @@ -41,7 +41,7 @@ def get_inference_providers() -> tuple[list[Provider], list[ModelInput]]: ( "llama-openai-compat", LLLAMA_MODEL_ENTRIES, - LlamaCompatConfig.sample_run_config(api_key="${env.LLAMA_API_KEY:+}"), + LlamaCompatConfig.sample_run_config(api_key="${env.LLAMA_API_KEY:=}"), ), ] inference_providers = [] @@ -87,15 +87,15 @@ def get_distribution_template() -> DistributionTemplate: Provider( provider_id="${env.ENABLE_CHROMADB:+chromadb}", provider_type="remote::chromadb", - config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:+}"), + config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:=}"), ), Provider( provider_id="${env.ENABLE_PGVECTOR:+pgvector}", provider_type="remote::pgvector", config=PGVectorVectorIOConfig.sample_run_config( - db="${env.PGVECTOR_DB:+}", - user="${env.PGVECTOR_USER:+}", - password="${env.PGVECTOR_PASSWORD:+}", + db="${env.PGVECTOR_DB:=}", + user="${env.PGVECTOR_USER:=}", + password="${env.PGVECTOR_PASSWORD:=}", ), ), ] diff --git a/llama_stack/templates/llama_api/run.yaml b/llama_stack/templates/llama_api/run.yaml index b627ed2f1..3bfb284a3 100644 --- a/llama_stack/templates/llama_api/run.yaml +++ b/llama_stack/templates/llama_api/run.yaml @@ -16,7 +16,7 @@ providers: provider_type: remote::llama-openai-compat config: openai_compat_api_base: https://api.llama.com/compat/v1/ - api_key: ${env.LLAMA_API_KEY:+} + api_key: ${env.LLAMA_API_KEY:=} - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} @@ -28,15 +28,15 @@ providers: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: - url: ${env.CHROMADB_URL:+} + url: ${env.CHROMADB_URL:=} - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: host: ${env.PGVECTOR_HOST:=localhost} port: ${env.PGVECTOR_PORT:=5432} - db: ${env.PGVECTOR_DB:+} - user: ${env.PGVECTOR_USER:+} - password: ${env.PGVECTOR_PASSWORD:+} + db: ${env.PGVECTOR_DB:=} + user: ${env.PGVECTOR_USER:=} + password: ${env.PGVECTOR_PASSWORD:=} safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -93,17 +93,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml b/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml index f60f4505f..46b3a33a6 100644 --- a/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml +++ b/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml @@ -99,17 +99,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/meta-reference-gpu/run.yaml b/llama_stack/templates/meta-reference-gpu/run.yaml index 064b958c8..033ec245a 100644 --- a/llama_stack/templates/meta-reference-gpu/run.yaml +++ b/llama_stack/templates/meta-reference-gpu/run.yaml @@ -89,17 +89,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/nvidia/run-with-safety.yaml b/llama_stack/templates/nvidia/run-with-safety.yaml index 875fccc9d..73783be98 100644 --- a/llama_stack/templates/nvidia/run-with-safety.yaml +++ b/llama_stack/templates/nvidia/run-with-safety.yaml @@ -17,7 +17,7 @@ providers: provider_type: remote::nvidia config: url: ${env.NVIDIA_BASE_URL:=https://integrate.api.nvidia.com} - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} append_api_version: ${env.NVIDIA_APPEND_API_VERSION:=True} - provider_id: nvidia provider_type: remote::nvidia @@ -65,7 +65,7 @@ providers: - provider_id: nvidia provider_type: remote::nvidia config: - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} customizer_url: ${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test} @@ -80,7 +80,7 @@ providers: - provider_id: nvidia provider_type: remote::nvidia config: - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} datasets_url: ${env.NVIDIA_DATASETS_URL:=http://nemo.test} diff --git a/llama_stack/templates/nvidia/run.yaml b/llama_stack/templates/nvidia/run.yaml index 4477d5244..af9d5904a 100644 --- a/llama_stack/templates/nvidia/run.yaml +++ b/llama_stack/templates/nvidia/run.yaml @@ -17,7 +17,7 @@ providers: provider_type: remote::nvidia config: url: ${env.NVIDIA_BASE_URL:=https://integrate.api.nvidia.com} - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} append_api_version: ${env.NVIDIA_APPEND_API_VERSION:=True} vector_io: - provider_id: faiss @@ -60,7 +60,7 @@ providers: - provider_id: nvidia provider_type: remote::nvidia config: - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} customizer_url: ${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test} @@ -68,7 +68,7 @@ providers: - provider_id: nvidia provider_type: remote::nvidia config: - api_key: ${env.NVIDIA_API_KEY:+} + api_key: ${env.NVIDIA_API_KEY:=} dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} datasets_url: ${env.NVIDIA_DATASETS_URL:=http://nemo.test} diff --git a/llama_stack/templates/ollama/run-with-safety.yaml b/llama_stack/templates/ollama/run-with-safety.yaml index 5e906a12c..bad51de09 100644 --- a/llama_stack/templates/ollama/run-with-safety.yaml +++ b/llama_stack/templates/ollama/run-with-safety.yaml @@ -85,7 +85,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -105,12 +105,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -121,7 +121,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/registry.db diff --git a/llama_stack/templates/ollama/run.yaml b/llama_stack/templates/ollama/run.yaml index d2b4e3978..e1dea730e 100644 --- a/llama_stack/templates/ollama/run.yaml +++ b/llama_stack/templates/ollama/run.yaml @@ -83,7 +83,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -103,12 +103,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -119,7 +119,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/registry.db diff --git a/llama_stack/templates/open-benchmark/open_benchmark.py b/llama_stack/templates/open-benchmark/open_benchmark.py index 8d7a9dc1e..942905dae 100644 --- a/llama_stack/templates/open-benchmark/open_benchmark.py +++ b/llama_stack/templates/open-benchmark/open_benchmark.py @@ -46,7 +46,7 @@ def get_inference_providers() -> tuple[list[Provider], dict[str, list[ProviderMo model_type=ModelType.llm, ) ], - OpenAIConfig.sample_run_config(api_key="${env.OPENAI_API_KEY:+}"), + OpenAIConfig.sample_run_config(api_key="${env.OPENAI_API_KEY:=}"), ), ( "anthropic", @@ -56,7 +56,7 @@ def get_inference_providers() -> tuple[list[Provider], dict[str, list[ProviderMo model_type=ModelType.llm, ) ], - AnthropicConfig.sample_run_config(api_key="${env.ANTHROPIC_API_KEY:+}"), + AnthropicConfig.sample_run_config(api_key="${env.ANTHROPIC_API_KEY:=}"), ), ( "gemini", @@ -66,17 +66,17 @@ def get_inference_providers() -> tuple[list[Provider], dict[str, list[ProviderMo model_type=ModelType.llm, ) ], - GeminiConfig.sample_run_config(api_key="${env.GEMINI_API_KEY:+}"), + GeminiConfig.sample_run_config(api_key="${env.GEMINI_API_KEY:=}"), ), ( "groq", [], - GroqConfig.sample_run_config(api_key="${env.GROQ_API_KEY:+}"), + GroqConfig.sample_run_config(api_key="${env.GROQ_API_KEY:=}"), ), ( "together", [], - TogetherImplConfig.sample_run_config(api_key="${env.TOGETHER_API_KEY:+}"), + TogetherImplConfig.sample_run_config(api_key="${env.TOGETHER_API_KEY:=}"), ), ] inference_providers = [] @@ -122,15 +122,15 @@ def get_distribution_template() -> DistributionTemplate: Provider( provider_id="${env.ENABLE_CHROMADB:+chromadb}", provider_type="remote::chromadb", - config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:+}"), + config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:=}"), ), Provider( provider_id="${env.ENABLE_PGVECTOR:+pgvector}", provider_type="remote::pgvector", config=PGVectorVectorIOConfig.sample_run_config( - db="${env.PGVECTOR_DB:+}", - user="${env.PGVECTOR_USER:+}", - password="${env.PGVECTOR_PASSWORD:+}", + db="${env.PGVECTOR_DB:=}", + user="${env.PGVECTOR_USER:=}", + password="${env.PGVECTOR_PASSWORD:=}", ), ), ] diff --git a/llama_stack/templates/open-benchmark/run.yaml b/llama_stack/templates/open-benchmark/run.yaml index 653d76bd4..57ae6b9be 100644 --- a/llama_stack/templates/open-benchmark/run.yaml +++ b/llama_stack/templates/open-benchmark/run.yaml @@ -15,25 +15,25 @@ providers: - provider_id: openai provider_type: remote::openai config: - api_key: ${env.OPENAI_API_KEY:+} + api_key: ${env.OPENAI_API_KEY:=} - provider_id: anthropic provider_type: remote::anthropic config: - api_key: ${env.ANTHROPIC_API_KEY:+} + api_key: ${env.ANTHROPIC_API_KEY:=} - provider_id: gemini provider_type: remote::gemini config: - api_key: ${env.GEMINI_API_KEY:+} + api_key: ${env.GEMINI_API_KEY:=} - provider_id: groq provider_type: remote::groq config: url: https://api.groq.com - api_key: ${env.GROQ_API_KEY:+} + api_key: ${env.GROQ_API_KEY:=} - provider_id: together provider_type: remote::together config: url: https://api.together.xyz/v1 - api_key: ${env.TOGETHER_API_KEY:+} + api_key: ${env.TOGETHER_API_KEY:=} vector_io: - provider_id: sqlite-vec provider_type: inline::sqlite-vec @@ -42,15 +42,15 @@ providers: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: - url: ${env.CHROMADB_URL:+} + url: ${env.CHROMADB_URL:=} - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: host: ${env.PGVECTOR_HOST:=localhost} port: ${env.PGVECTOR_PORT:=5432} - db: ${env.PGVECTOR_DB:+} - user: ${env.PGVECTOR_USER:+} - password: ${env.PGVECTOR_PASSWORD:+} + db: ${env.PGVECTOR_DB:=} + user: ${env.PGVECTOR_USER:=} + password: ${env.PGVECTOR_PASSWORD:=} safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -107,17 +107,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/passthrough/run-with-safety.yaml b/llama_stack/templates/passthrough/run-with-safety.yaml index c5b047511..7a30f665c 100644 --- a/llama_stack/templates/passthrough/run-with-safety.yaml +++ b/llama_stack/templates/passthrough/run-with-safety.yaml @@ -89,22 +89,22 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} diff --git a/llama_stack/templates/passthrough/run.yaml b/llama_stack/templates/passthrough/run.yaml index 896b3c91e..dc751ea20 100644 --- a/llama_stack/templates/passthrough/run.yaml +++ b/llama_stack/templates/passthrough/run.yaml @@ -84,22 +84,22 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} diff --git a/llama_stack/templates/postgres-demo/postgres_demo.py b/llama_stack/templates/postgres-demo/postgres_demo.py index 5b1a302e3..67ad35db7 100644 --- a/llama_stack/templates/postgres-demo/postgres_demo.py +++ b/llama_stack/templates/postgres-demo/postgres_demo.py @@ -52,7 +52,7 @@ def get_distribution_template() -> DistributionTemplate: Provider( provider_id="${env.ENABLE_CHROMADB:+chromadb}", provider_type="remote::chromadb", - config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:+}"), + config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:=}"), ), ] default_tool_groups = [ @@ -114,7 +114,7 @@ def get_distribution_template() -> DistributionTemplate: provider_id="meta-reference", provider_type="inline::meta-reference", config=dict( - service_name="${env.OTEL_SERVICE_NAME:+}", + service_name="${env.OTEL_SERVICE_NAME:=}", sinks="${env.TELEMETRY_SINKS:=console,otel_trace}", otel_trace_endpoint="${env.OTEL_TRACE_ENDPOINT:=http://localhost:4318/v1/traces}", ), diff --git a/llama_stack/templates/postgres-demo/run.yaml b/llama_stack/templates/postgres-demo/run.yaml index 66253cbdb..dd20cc6ac 100644 --- a/llama_stack/templates/postgres-demo/run.yaml +++ b/llama_stack/templates/postgres-demo/run.yaml @@ -23,7 +23,7 @@ providers: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: - url: ${env.CHROMADB_URL:+} + url: ${env.CHROMADB_URL:=} safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -51,19 +51,19 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - service_name: ${env.OTEL_SERVICE_NAME:+} + service_name: ${env.OTEL_SERVICE_NAME:=} sinks: ${env.TELEMETRY_SINKS:=console,otel_trace} otel_trace_endpoint: ${env.OTEL_TRACE_ENDPOINT:=http://localhost:4318/v1/traces} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/remote-vllm/run-with-safety.yaml b/llama_stack/templates/remote-vllm/run-with-safety.yaml index e306a771b..78fb22d38 100644 --- a/llama_stack/templates/remote-vllm/run-with-safety.yaml +++ b/llama_stack/templates/remote-vllm/run-with-safety.yaml @@ -86,7 +86,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -98,12 +98,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -114,7 +114,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/registry.db diff --git a/llama_stack/templates/remote-vllm/run.yaml b/llama_stack/templates/remote-vllm/run.yaml index 1dbef96a2..1cc4596f3 100644 --- a/llama_stack/templates/remote-vllm/run.yaml +++ b/llama_stack/templates/remote-vllm/run.yaml @@ -79,7 +79,7 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -91,12 +91,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -107,7 +107,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/registry.db diff --git a/llama_stack/templates/sambanova/run.yaml b/llama_stack/templates/sambanova/run.yaml index b96621b58..6163a58b3 100644 --- a/llama_stack/templates/sambanova/run.yaml +++ b/llama_stack/templates/sambanova/run.yaml @@ -28,15 +28,15 @@ providers: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: - url: ${env.CHROMADB_URL:+} + url: ${env.CHROMADB_URL:=} - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: host: ${env.PGVECTOR_HOST:=localhost} port: ${env.PGVECTOR_PORT:=5432} - db: ${env.PGVECTOR_DB:+} - user: ${env.PGVECTOR_USER:+} - password: ${env.PGVECTOR_PASSWORD:+} + db: ${env.PGVECTOR_DB:=} + user: ${env.PGVECTOR_USER:=} + password: ${env.PGVECTOR_PASSWORD:=} safety: - provider_id: sambanova provider_type: remote::sambanova @@ -65,12 +65,12 @@ providers: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -81,7 +81,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/sambanova}/registry.db diff --git a/llama_stack/templates/sambanova/sambanova.py b/llama_stack/templates/sambanova/sambanova.py index 428577697..71135b9b1 100644 --- a/llama_stack/templates/sambanova/sambanova.py +++ b/llama_stack/templates/sambanova/sambanova.py @@ -75,15 +75,15 @@ def get_distribution_template() -> DistributionTemplate: Provider( provider_id="${env.ENABLE_CHROMADB:+chromadb}", provider_type="remote::chromadb", - config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:+}"), + config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:=}"), ), Provider( provider_id="${env.ENABLE_PGVECTOR:+pgvector}", provider_type="remote::pgvector", config=PGVectorVectorIOConfig.sample_run_config( - db="${env.PGVECTOR_DB:+}", - user="${env.PGVECTOR_USER:+}", - password="${env.PGVECTOR_PASSWORD:+}", + db="${env.PGVECTOR_DB:=}", + user="${env.PGVECTOR_USER:=}", + password="${env.PGVECTOR_PASSWORD:=}", ), ), ] diff --git a/llama_stack/templates/starter/run.yaml b/llama_stack/templates/starter/run.yaml index 2682d5a72..190030690 100644 --- a/llama_stack/templates/starter/run.yaml +++ b/llama_stack/templates/starter/run.yaml @@ -16,17 +16,17 @@ providers: - provider_id: openai provider_type: remote::openai config: - api_key: ${env.OPENAI_API_KEY:+} + api_key: ${env.OPENAI_API_KEY:=} - provider_id: fireworks provider_type: remote::fireworks config: url: https://api.fireworks.ai/inference/v1 - api_key: ${env.FIREWORKS_API_KEY:+} + api_key: ${env.FIREWORKS_API_KEY:=} - provider_id: together provider_type: remote::together config: url: https://api.together.xyz/v1 - api_key: ${env.TOGETHER_API_KEY:+} + api_key: ${env.TOGETHER_API_KEY:=} - provider_id: ollama provider_type: remote::ollama config: @@ -35,21 +35,21 @@ providers: - provider_id: anthropic provider_type: remote::anthropic config: - api_key: ${env.ANTHROPIC_API_KEY:+} + api_key: ${env.ANTHROPIC_API_KEY:=} - provider_id: gemini provider_type: remote::gemini config: - api_key: ${env.GEMINI_API_KEY:+} + api_key: ${env.GEMINI_API_KEY:=} - provider_id: groq provider_type: remote::groq config: url: https://api.groq.com - api_key: ${env.GROQ_API_KEY:+} + api_key: ${env.GROQ_API_KEY:=} - provider_id: sambanova provider_type: remote::sambanova config: url: https://api.sambanova.ai/v1 - api_key: ${env.SAMBANOVA_API_KEY:+} + api_key: ${env.SAMBANOVA_API_KEY:=} - provider_id: vllm provider_type: remote::vllm config: @@ -83,15 +83,15 @@ providers: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: - url: ${env.CHROMADB_URL:+} + url: ${env.CHROMADB_URL:=} - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: host: ${env.PGVECTOR_HOST:=localhost} port: ${env.PGVECTOR_PORT:=5432} - db: ${env.PGVECTOR_DB:+} - user: ${env.PGVECTOR_USER:+} - password: ${env.PGVECTOR_PASSWORD:+} + db: ${env.PGVECTOR_DB:=} + user: ${env.PGVECTOR_USER:=} + password: ${env.PGVECTOR_PASSWORD:=} files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -156,17 +156,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/starter/starter.py b/llama_stack/templates/starter/starter.py index d9d1c19d1..7914d4298 100644 --- a/llama_stack/templates/starter/starter.py +++ b/llama_stack/templates/starter/starter.py @@ -72,17 +72,17 @@ def get_inference_providers() -> tuple[list[Provider], dict[str, list[ProviderMo ( "openai", OPENAI_MODEL_ENTRIES, - OpenAIConfig.sample_run_config(api_key="${env.OPENAI_API_KEY:+}"), + OpenAIConfig.sample_run_config(api_key="${env.OPENAI_API_KEY:=}"), ), ( "fireworks", FIREWORKS_MODEL_ENTRIES, - FireworksImplConfig.sample_run_config(api_key="${env.FIREWORKS_API_KEY:+}"), + FireworksImplConfig.sample_run_config(api_key="${env.FIREWORKS_API_KEY:=}"), ), ( "together", TOGETHER_MODEL_ENTRIES, - TogetherImplConfig.sample_run_config(api_key="${env.TOGETHER_API_KEY:+}"), + TogetherImplConfig.sample_run_config(api_key="${env.TOGETHER_API_KEY:=}"), ), ( "ollama", @@ -106,22 +106,22 @@ def get_inference_providers() -> tuple[list[Provider], dict[str, list[ProviderMo ( "anthropic", ANTHROPIC_MODEL_ENTRIES, - AnthropicConfig.sample_run_config(api_key="${env.ANTHROPIC_API_KEY:+}"), + AnthropicConfig.sample_run_config(api_key="${env.ANTHROPIC_API_KEY:=}"), ), ( "gemini", GEMINI_MODEL_ENTRIES, - GeminiConfig.sample_run_config(api_key="${env.GEMINI_API_KEY:+}"), + GeminiConfig.sample_run_config(api_key="${env.GEMINI_API_KEY:=}"), ), ( "groq", GROQ_MODEL_ENTRIES, - GroqConfig.sample_run_config(api_key="${env.GROQ_API_KEY:+}"), + GroqConfig.sample_run_config(api_key="${env.GROQ_API_KEY:=}"), ), ( "sambanova", SAMBANOVA_MODEL_ENTRIES, - SambaNovaImplConfig.sample_run_config(api_key="${env.SAMBANOVA_API_KEY:+}"), + SambaNovaImplConfig.sample_run_config(api_key="${env.SAMBANOVA_API_KEY:=}"), ), ( "vllm", @@ -190,15 +190,15 @@ def get_distribution_template() -> DistributionTemplate: Provider( provider_id="${env.ENABLE_CHROMADB:+chromadb}", provider_type="remote::chromadb", - config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:+}"), + config=ChromaVectorIOConfig.sample_run_config(url="${env.CHROMADB_URL:=}"), ), Provider( provider_id="${env.ENABLE_PGVECTOR:+pgvector}", provider_type="remote::pgvector", config=PGVectorVectorIOConfig.sample_run_config( - db="${env.PGVECTOR_DB:+}", - user="${env.PGVECTOR_USER:+}", - password="${env.PGVECTOR_PASSWORD:+}", + db="${env.PGVECTOR_DB:=}", + user="${env.PGVECTOR_USER:=}", + password="${env.PGVECTOR_PASSWORD:=}", ), ), ] diff --git a/llama_stack/templates/tgi/run-with-safety.yaml b/llama_stack/templates/tgi/run-with-safety.yaml index 63da62a03..c4f9ae7ef 100644 --- a/llama_stack/templates/tgi/run-with-safety.yaml +++ b/llama_stack/templates/tgi/run-with-safety.yaml @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/tgi/run.yaml b/llama_stack/templates/tgi/run.yaml index 430494121..70e5872b3 100644 --- a/llama_stack/templates/tgi/run.yaml +++ b/llama_stack/templates/tgi/run.yaml @@ -83,17 +83,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/together/run-with-safety.yaml b/llama_stack/templates/together/run-with-safety.yaml index 7ae2a1d1a..14f423855 100644 --- a/llama_stack/templates/together/run-with-safety.yaml +++ b/llama_stack/templates/together/run-with-safety.yaml @@ -16,7 +16,7 @@ providers: provider_type: remote::together config: url: https://api.together.xyz/v1 - api_key: ${env.TOGETHER_API_KEY:+} + api_key: ${env.TOGETHER_API_KEY:=} - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} @@ -89,17 +89,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -110,7 +110,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/registry.db diff --git a/llama_stack/templates/together/run.yaml b/llama_stack/templates/together/run.yaml index dc09aeac9..38f1922c0 100644 --- a/llama_stack/templates/together/run.yaml +++ b/llama_stack/templates/together/run.yaml @@ -16,7 +16,7 @@ providers: provider_type: remote::together config: url: https://api.together.xyz/v1 - api_key: ${env.TOGETHER_API_KEY:+} + api_key: ${env.TOGETHER_API_KEY:=} - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} @@ -84,17 +84,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -105,7 +105,7 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/registry.db diff --git a/llama_stack/templates/vllm-gpu/run.yaml b/llama_stack/templates/vllm-gpu/run.yaml index 104b3a239..6854ad05c 100644 --- a/llama_stack/templates/vllm-gpu/run.yaml +++ b/llama_stack/templates/vllm-gpu/run.yaml @@ -88,17 +88,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/llama_stack/templates/watsonx/run.yaml b/llama_stack/templates/watsonx/run.yaml index 678bf72ff..8b8fc09c4 100644 --- a/llama_stack/templates/watsonx/run.yaml +++ b/llama_stack/templates/watsonx/run.yaml @@ -16,8 +16,8 @@ providers: provider_type: remote::watsonx config: url: ${env.WATSONX_BASE_URL:=https://us-south.ml.cloud.ibm.com} - api_key: ${env.WATSONX_API_KEY:+} - project_id: ${env.WATSONX_PROJECT_ID:+} + api_key: ${env.WATSONX_API_KEY:=} + project_id: ${env.WATSONX_PROJECT_ID:=} - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} @@ -85,17 +85,17 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:+} + openai_api_key: ${env.OPENAI_API_KEY:=} tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:+} + api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:+} + api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime diff --git a/tests/unit/server/test_replace_env_vars.py b/tests/unit/server/test_replace_env_vars.py index 0fb7c395e..432d6aee5 100644 --- a/tests/unit/server/test_replace_env_vars.py +++ b/tests/unit/server/test_replace_env_vars.py @@ -34,6 +34,12 @@ class TestReplaceEnvVars(unittest.TestCase): def test_default_value_when_empty(self): self.assertEqual(replace_env_vars("${env.EMPTY_VAR:=default}"), "default") + def test_none_value_when_empty(self): + self.assertEqual(replace_env_vars("${env.EMPTY_VAR:=}"), None) + + def test_value_when_set(self): + self.assertEqual(replace_env_vars("${env.TEST_VAR:=}"), "test_value") + def test_empty_var_no_default(self): self.assertEqual(replace_env_vars("${env.EMPTY_VAR_NO_DEFAULT:+}"), None)