diff --git a/docs/_static/llama-stack-spec.html b/docs/_static/llama-stack-spec.html index ae9ad5d4c7..eb31e634ad 100644 --- a/docs/_static/llama-stack-spec.html +++ b/docs/_static/llama-stack-spec.html @@ -4946,6 +4946,74 @@ } } }, + "/v1/providers/{api}/{provider_id}/{provider_type}": { + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest400" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests429" + }, + "500": { + "$ref": "#/components/responses/InternalServerError500" + }, + "default": { + "$ref": "#/components/responses/DefaultError" + } + }, + "tags": [ + "Providers" + ], + "description": "", + "parameters": [ + { + "name": "api", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider_type", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProviderRequest" + } + } + }, + "required": true + } + } + }, "/v1/version": { "get": { "responses": { @@ -16101,6 +16169,41 @@ "title": "SyntheticDataGenerationResponse", "description": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold." }, + "UpdateProviderRequest": { + "type": "object", + "properties": { + "config": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "array" + }, + { + "type": "object" + } + ] + } + } + }, + "additionalProperties": false, + "required": [ + "config" + ], + "title": "UpdateProviderRequest" + }, "VersionInfo": { "type": "object", "properties": { diff --git a/docs/_static/llama-stack-spec.yaml b/docs/_static/llama-stack-spec.yaml index 48cefe12bf..3c4e9c8653 100644 --- a/docs/_static/llama-stack-spec.yaml +++ b/docs/_static/llama-stack-spec.yaml @@ -3484,6 +3484,50 @@ paths: schema: $ref: '#/components/schemas/SyntheticDataGenerateRequest' required: true + /v1/providers/{api}/{provider_id}/{provider_type}: + post: + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderInfo' + '400': + $ref: '#/components/responses/BadRequest400' + '429': + $ref: >- + #/components/responses/TooManyRequests429 + '500': + $ref: >- + #/components/responses/InternalServerError500 + default: + $ref: '#/components/responses/DefaultError' + tags: + - Providers + description: '' + parameters: + - name: api + in: path + required: true + schema: + type: string + - name: provider_id + in: path + required: true + schema: + type: string + - name: provider_type + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateProviderRequest' + required: true /v1/version: get: responses: @@ -11234,6 +11278,23 @@ components: description: >- Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold. + UpdateProviderRequest: + type: object + properties: + config: + type: object + additionalProperties: + oneOf: + - type: 'null' + - type: boolean + - type: number + - type: string + - type: array + - type: object + additionalProperties: false + required: + - config + title: UpdateProviderRequest VersionInfo: type: object properties: diff --git a/llama_stack/apis/providers/providers.py b/llama_stack/apis/providers/providers.py index 4bc977bf15..0f29a6e05d 100644 --- a/llama_stack/apis/providers/providers.py +++ b/llama_stack/apis/providers/providers.py @@ -47,3 +47,8 @@ async def inspect_provider(self, provider_id: str) -> ProviderInfo: :returns: A ProviderInfo object containing the provider's details. """ ... + + @webmethod(route="/providers/{api}/{provider_id}/{provider_type}", method="PUT") + async def update_provider( + self, api: str, provider_id: str, provider_type: str, config: dict[str, Any] + ) -> ProviderInfo: ... diff --git a/llama_stack/distribution/datatypes.py b/llama_stack/distribution/datatypes.py index 5e48ac0adb..1118bf82f4 100644 --- a/llama_stack/distribution/datatypes.py +++ b/llama_stack/distribution/datatypes.py @@ -151,6 +151,7 @@ class Provider(BaseModel): provider_id: str | None provider_type: str config: dict[str, Any] + immutable: bool = False class LoggingConfig(BaseModel): diff --git a/llama_stack/distribution/library_client.py b/llama_stack/distribution/library_client.py index cebfabba54..5a59706ac2 100644 --- a/llama_stack/distribution/library_client.py +++ b/llama_stack/distribution/library_client.py @@ -25,6 +25,7 @@ AsyncStream, LlamaStackClient, ) +from llama_stack_client.types import provider_info from pydantic import BaseModel, TypeAdapter from rich.console import Console from termcolor import cprint @@ -293,6 +294,22 @@ async def request( cast_to=cast_to, options=options, ) + # Check if response is of a certain type + # this indicates we have done a provider update + if ( + isinstance(response, provider_info.ProviderInfo) + and hasattr(response, "config") + and options.method.lower() == "put" + ): + # patch in the new provider config + for api, providers in self.config.providers.items(): + if api != response.api: + continue + for prov in providers: + if prov.provider_id == response.provider_id: + prov.config = response.config + break + await self.initialize() return response async def _call_non_streaming( diff --git a/llama_stack/distribution/providers.py b/llama_stack/distribution/providers.py index 1d9c1f4e9b..75599f9ed5 100644 --- a/llama_stack/distribution/providers.py +++ b/llama_stack/distribution/providers.py @@ -5,6 +5,7 @@ # the root directory of this source tree. import asyncio +import copy from typing import Any from pydantic import BaseModel @@ -13,7 +14,7 @@ from llama_stack.log import get_logger from llama_stack.providers.datatypes import HealthResponse, HealthStatus -from .datatypes import StackRunConfig +from .datatypes import Provider, StackRunConfig from .utils.config import redact_sensitive_fields logger = get_logger(name=__name__, category="core") @@ -129,3 +130,89 @@ async def check_provider_health(impl: Any) -> tuple[str, HealthResponse] | None: providers_health[api_name] = health_response return providers_health + + async def update_provider( + self, api: str, provider_id: str, provider_type: str, config: dict[str, Any] + ) -> ProviderInfo: + # config = ast.literal_eval(provider_request.config) + prov = Provider( + provider_id=provider_id, + provider_type=provider_type, + config=config, + ) + assert prov.provider_id is not None + existing_provider = None + # if the provider isn't there or the API is invalid, we should not continue + for prov_api, providers in self.config.run_config.providers.items(): + if prov_api != api: + continue + for p in providers: + # the provider needs to be mutable for us to update its config + if p.provider_id == provider_id: + if p.immutable: + raise ValueError(f"Provider {provider_id} is immutable, you can only update mutable providers.") + existing_provider = p + break + if existing_provider is not None: + break + + if existing_provider is None: + raise ValueError(f"Provider {provider_id} not found, you can only update already registered providers.") + + new_config = self.merge_providers(existing_provider, prov) + existing_provider.config = new_config + providers_health = await self.get_providers_health() + # takes a single provider, validates its in the registry + # if it is, merge the provider config with the existing one + ret = ProviderInfo( + api=api, + provider_id=prov.provider_id, + provider_type=prov.provider_type, + config=new_config, + health=providers_health.get(api, {}).get( + p.provider_id, + HealthResponse(status=HealthStatus.NOT_IMPLEMENTED, message="Provider does not implement health check"), + ), + ) + + return ret + + def merge_dicts(self, base: dict[str, Any], overrides: dict[str, Any]) -> dict[str, Any]: + """Recursively merges `overrides` into `base`, replacing only specified keys.""" + + merged = copy.deepcopy(base) # Preserve original dict + for key, value in overrides.items(): + if isinstance(value, dict) and isinstance(merged.get(key), dict): + # Recursively merge if both are dictionaries + merged[key] = self.merge_dicts(merged[key], value) + else: + # Otherwise, directly override + merged[key] = value + + return merged + + def merge_configs( + self, global_config: dict[str, list[Provider]], new_config: dict[str, list[Provider]] + ) -> dict[str, list[Provider]]: + merged_config = copy.deepcopy(global_config) # Preserve original structure + + for key, new_providers in new_config.items(): + if key in merged_config: + existing_providers = {p.provider_id: p for p in merged_config[key]} + + for new_provider in new_providers: + if new_provider.provider_id in existing_providers: + # Override settings of existing provider + existing = existing_providers[new_provider.provider_id] + existing.config = self.merge_dicts(existing.config, new_provider.config) + else: + # Append new provider + merged_config[key].append(new_provider) + else: + # Add new category entirely + merged_config[key] = new_providers + + return merged_config + + def merge_providers(self, current_provider: Provider, new_provider: Provider) -> dict[str, Any]: + return self.merge_dicts(current_provider.config, new_provider.config) diff --git a/llama_stack/distribution/server/routes.py b/llama_stack/distribution/server/routes.py index ea66fec5a1..ee059a4a62 100644 --- a/llama_stack/distribution/server/routes.py +++ b/llama_stack/distribution/server/routes.py @@ -62,6 +62,8 @@ def get_all_api_routes() -> dict[Api, list[Route]]: http_method = hdrs.METH_GET elif webmethod.method == hdrs.METH_DELETE: http_method = hdrs.METH_DELETE + elif webmethod.method == hdrs.METH_PUT: + http_method = hdrs.METH_PUT else: http_method = hdrs.METH_POST routes.append( diff --git a/llama_stack/distribution/server/server.py b/llama_stack/distribution/server/server.py index 83407a25f9..7a1df8fa18 100644 --- a/llama_stack/distribution/server/server.py +++ b/llama_stack/distribution/server/server.py @@ -27,8 +27,10 @@ from fastapi import Path as FastapiPath from fastapi.exceptions import RequestValidationError from fastapi.responses import JSONResponse, StreamingResponse +from fastapi.routing import APIRoute from openai import BadRequestError from pydantic import BaseModel, ValidationError +from starlette.types import Message from llama_stack.apis.common.responses import PaginatedResponse from llama_stack.distribution.datatypes import AuthenticationRequiredError, LoggingConfig, StackRunConfig @@ -269,6 +271,84 @@ async def route_handler(request: Request, **kwargs): return route_handler +class RequestMiddleware: + def __init__(self, app, api, stack_run_config): + self.app = app + self.api = api + self.stack_run_config = stack_run_config + + async def __call__(self, scope, receive, send): + import json + + from fastapi import Request + + from llama_stack.apis.providers import ProviderInfo + + # from llama_stack.stack_utils import construct_stack # or wherever you define it + if scope["type"] != "http": + return await self.app(scope, receive, send) + + request = Request(scope, receive) + method = request.method + path = request.url.path + + # Only intercept PUT /v1/providers/update + if method == "PUT" and "/v1/providers" in path: + # Clone the request body so FastAPI doesn't break + + body = await request.body() + request = Request(scope, receive_from_body(body)) + + response_body = b"" + status_code = 500 + headers = [] + + async def send_wrapper(message: Message): + nonlocal response_body, status_code, headers + + if message["type"] == "http.response.start": + status_code = message["status"] + headers = message.get("headers", []) + + elif message["type"] == "http.response.body": + response_body += message.get("body", b"") + + if not message.get("more_body", False): + # Rebuild stack + try: + # Parse the request body (not response) + payload = json.loads(response_body.decode("utf-8")) + new_provider = ProviderInfo(**payload) + for api, providers in self.stack_run_config.providers.items(): + if api != new_provider.api: + continue + for prov in providers: + if prov.provider_id == new_provider.provider_id: + prov.config = new_provider.config + break + + _, impls = await construct(app=self.api, config=self.stack_run_config, reconstruct=True) + self.api.__llama_stack_impls__ = impls + print("✅ Stack rebuilt and updated.") + except Exception as e: + print(f"⚠️ Failed to rebuild stack: {e}") + + await send(message) + + return await self.app(scope, request.receive, send_wrapper) + + # All other requests go through normally + return await self.app(scope, receive, send) + + +# Helper to inject the saved body back into the request +def receive_from_body(body: bytes): + async def receive() -> Message: + return {"type": "http.request", "body": body, "more_body": False} + + return receive + + class TracingMiddleware: def __init__(self, app, impls): self.app = app @@ -482,67 +562,15 @@ def main(args: argparse.Namespace | None = None): window_seconds=window_seconds, ) - try: - impls = asyncio.run(construct_stack(config)) - except InvalidProviderError as e: - logger.error(f"Error: {str(e)}") - sys.exit(1) - - if Api.telemetry in impls: - setup_logger(impls[Api.telemetry]) - else: - setup_logger(TelemetryAdapter(TelemetryConfig(), {})) - - all_routes = get_all_api_routes() - - if config.apis: - apis_to_serve = set(config.apis) - else: - apis_to_serve = set(impls.keys()) - - for inf in builtin_automatically_routed_apis(): - # if we do not serve the corresponding router API, we should not serve the routing table API - if inf.router_api.value not in apis_to_serve: - continue - apis_to_serve.add(inf.routing_table_api.value) - - apis_to_serve.add("inspect") - apis_to_serve.add("providers") - for api_str in apis_to_serve: - api = Api(api_str) - - routes = all_routes[api] - impl = impls[api] - - for route in routes: - if not hasattr(impl, route.name): - # ideally this should be a typing violation already - raise ValueError(f"Could not find method {route.name} on {impl}!") - - impl_method = getattr(impl, route.name) - # Filter out HEAD method since it's automatically handled by FastAPI for GET routes - available_methods = [m for m in route.methods if m != "HEAD"] - if not available_methods: - raise ValueError(f"No methods found for {route.name} on {impl}") - method = available_methods[0] - logger.debug(f"{method} {route.path}") - - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", category=UserWarning, module="pydantic._internal._fields") - getattr(app, method.lower())(route.path, response_model=None)( - create_dynamic_typed_route( - impl_method, - method.lower(), - route.path, - ) - ) - + apis_to_serve, impls = asyncio.run(construct(app=app, config=config)) logger.debug(f"serving APIs: {apis_to_serve}") app.exception_handler(RequestValidationError)(global_exception_handler) app.exception_handler(Exception)(global_exception_handler) app.__llama_stack_impls__ = impls + # Add the custom middleware + app.add_middleware(RequestMiddleware, api=app, stack_run_config=config) app.add_middleware(TracingMiddleware, impls=impls) import uvicorn @@ -592,5 +620,81 @@ def extract_path_params(route: str) -> list[str]: return params +async def construct( + app: FastAPI, config: StackRunConfig, reconstruct: bool = False +) -> tuple[set[str] | set[Api], dict[Api, Any]]: + try: + impls = await construct_stack(config) + except InvalidProviderError as e: + logger.error(f"Error: {str(e)}") + sys.exit(1) + + if Api.telemetry in impls: + setup_logger(impls[Api.telemetry]) + else: + setup_logger(TelemetryAdapter(TelemetryConfig(), {})) + + all_routes = get_all_api_routes() + + if config.apis: + apis_to_serve = set(config.apis) + else: + apis_to_serve = set(impls.keys()) + + for inf in builtin_automatically_routed_apis(): + # if we do not serve the corresponding router API, we should not serve the routing table API + if inf.router_api.value not in apis_to_serve: + continue + apis_to_serve.add(inf.routing_table_api.value) + + apis_to_serve.add("inspect") + apis_to_serve.add("providers") + + for api_str in apis_to_serve: + api = Api(api_str) + + routes = all_routes[api] + impl = impls[api] + for route in routes: + if not hasattr(impl, route.name): + # ideally this should be a typing violation already + raise ValueError(f"Could not find method {route.name} on {impl}!!") + + impl_method = getattr(impl, route.name) + + # Filter out HEAD method since it's automatically handled by FastAPI for GET routes + available_methods = [m for m in route.methods if m != "HEAD"] + if not available_methods: + raise ValueError(f"No methods found for {route.name} on {impl}") + method = available_methods[0] + logger.debug(f"{method} {route.path}") + + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", category=UserWarning, module="pydantic._internal._fields") + # Remove old route + if reconstruct: + app.router.routes = [ + r for r in app.router.routes if not (r.path == route.path and method.lower() in r.methods) + ] + new_endpoint = create_dynamic_typed_route( + impl_method, + method.lower(), + route.path, # route.path + ) + getattr(app, method.lower())(route.path, response_model=None)(new_endpoint) + if reconstruct: + new_route = APIRoute( + response_model=None, + path=route.path, + endpoint=new_endpoint, + methods=[method.lower()], + name=impl_method.__name__, + ) + # Add new route + app.router.routes.append(new_route) + + return apis_to_serve, impls + + if __name__ == "__main__": main() diff --git a/llama_stack/templates/bedrock/run.yaml b/llama_stack/templates/bedrock/run.yaml index f12c5bec5a..afb4a1e38c 100644 --- a/llama_stack/templates/bedrock/run.yaml +++ b/llama_stack/templates/bedrock/run.yaml @@ -15,6 +15,7 @@ providers: - provider_id: bedrock provider_type: remote::bedrock config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -23,10 +24,12 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/faiss_store.db + immutable: false safety: - provider_id: bedrock provider_type: remote::bedrock config: {} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -38,6 +41,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -45,6 +49,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -53,6 +58,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -61,6 +67,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -68,34 +75,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/registry.db diff --git a/llama_stack/templates/cerebras/run.yaml b/llama_stack/templates/cerebras/run.yaml index c3877ddcec..b34e515401 100644 --- a/llama_stack/templates/cerebras/run.yaml +++ b/llama_stack/templates/cerebras/run.yaml @@ -17,14 +17,17 @@ providers: config: base_url: https://api.cerebras.ai api_key: ${env.CEREBRAS_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -33,6 +36,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/faiss_store.db + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/responses_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -52,6 +57,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -60,6 +66,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -67,17 +74,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -85,20 +96,24 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/trace_store.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/registry.db diff --git a/llama_stack/templates/ci-tests/run.yaml b/llama_stack/templates/ci-tests/run.yaml index a38d09324b..1fbd3a329b 100644 --- a/llama_stack/templates/ci-tests/run.yaml +++ b/llama_stack/templates/ci-tests/run.yaml @@ -17,19 +17,23 @@ providers: config: url: https://api.fireworks.ai/inference/v1 api_key: ${env.FIREWORKS_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: sqlite-vec provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/sqlite_vec.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -41,6 +45,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -48,6 +53,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -64,6 +71,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -71,34 +79,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/registry.db diff --git a/llama_stack/templates/dell/run-with-safety.yaml b/llama_stack/templates/dell/run-with-safety.yaml index 48639c772b..b170f0d100 100644 --- a/llama_stack/templates/dell/run-with-safety.yaml +++ b/llama_stack/templates/dell/run-with-safety.yaml @@ -16,23 +16,28 @@ providers: provider_type: remote::tgi config: url: ${env.DEH_URL} + immutable: false - provider_id: tgi1 provider_type: remote::tgi config: url: ${env.DEH_SAFETY_URL} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: chromadb provider_type: remote::chromadb config: url: ${env.CHROMA_URL} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +49,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +57,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +66,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +75,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,31 +83,38 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/registry.db diff --git a/llama_stack/templates/dell/run.yaml b/llama_stack/templates/dell/run.yaml index 13d43530b6..6c847280ee 100644 --- a/llama_stack/templates/dell/run.yaml +++ b/llama_stack/templates/dell/run.yaml @@ -16,19 +16,23 @@ providers: provider_type: remote::tgi config: url: ${env.DEH_URL} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: chromadb provider_type: remote::chromadb config: url: ${env.CHROMA_URL} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -40,6 +44,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -47,6 +52,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -55,6 +61,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,6 +70,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -70,31 +78,38 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/registry.db diff --git a/llama_stack/templates/fireworks/run-with-safety.yaml b/llama_stack/templates/fireworks/run-with-safety.yaml index ecb53a18d2..d9739ed038 100644 --- a/llama_stack/templates/fireworks/run-with-safety.yaml +++ b/llama_stack/templates/fireworks/run-with-safety.yaml @@ -18,9 +18,11 @@ providers: config: url: https://api.fireworks.ai/inference/v1 api_key: ${env.FIREWORKS_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -29,16 +31,20 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: {} + immutable: false - provider_id: llama-guard-vision provider_type: inline::llama-guard config: {} + immutable: false - provider_id: code-scanner provider_type: inline::code-scanner config: {} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -50,6 +56,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -57,6 +64,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -65,6 +73,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -73,6 +82,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -80,17 +90,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -99,27 +113,33 @@ providers: metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/files_metadata.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/registry.db diff --git a/llama_stack/templates/fireworks/run.yaml b/llama_stack/templates/fireworks/run.yaml index 298d28d52e..4859730f8c 100644 --- a/llama_stack/templates/fireworks/run.yaml +++ b/llama_stack/templates/fireworks/run.yaml @@ -18,9 +18,11 @@ providers: config: url: https://api.fireworks.ai/inference/v1 api_key: ${env.FIREWORKS_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -29,11 +31,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -45,6 +49,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -52,6 +57,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -60,6 +66,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,6 +75,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -75,17 +83,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -94,27 +106,33 @@ providers: metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/files_metadata.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/registry.db diff --git a/llama_stack/templates/groq/run.yaml b/llama_stack/templates/groq/run.yaml index 13bb65ed28..2826af6138 100644 --- a/llama_stack/templates/groq/run.yaml +++ b/llama_stack/templates/groq/run.yaml @@ -17,9 +17,11 @@ providers: config: url: https://api.groq.com api_key: ${env.GROQ_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,31 +82,38 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/registry.db diff --git a/llama_stack/templates/hf-endpoint/run-with-safety.yaml b/llama_stack/templates/hf-endpoint/run-with-safety.yaml index b2bc6a8e9f..7b6a38340c 100644 --- a/llama_stack/templates/hf-endpoint/run-with-safety.yaml +++ b/llama_stack/templates/hf-endpoint/run-with-safety.yaml @@ -17,14 +17,17 @@ providers: config: endpoint_name: ${env.INFERENCE_ENDPOINT_NAME} api_token: ${env.HF_API_TOKEN} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false - provider_id: hf-endpoint-safety provider_type: remote::hf::endpoint config: endpoint_name: ${env.SAFETY_INFERENCE_ENDPOINT_NAME} api_token: ${env.HF_API_TOKEN} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -33,11 +36,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +54,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -64,6 +71,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -72,6 +80,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -79,34 +88,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/registry.db diff --git a/llama_stack/templates/hf-endpoint/run.yaml b/llama_stack/templates/hf-endpoint/run.yaml index d62921cccc..08b55e9b09 100644 --- a/llama_stack/templates/hf-endpoint/run.yaml +++ b/llama_stack/templates/hf-endpoint/run.yaml @@ -17,9 +17,11 @@ providers: config: endpoint_name: ${env.INFERENCE_ENDPOINT_NAME} api_token: ${env.HF_API_TOKEN} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,34 +82,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/registry.db diff --git a/llama_stack/templates/hf-serverless/run-with-safety.yaml b/llama_stack/templates/hf-serverless/run-with-safety.yaml index d7ff4f4468..92fcc24ad5 100644 --- a/llama_stack/templates/hf-serverless/run-with-safety.yaml +++ b/llama_stack/templates/hf-serverless/run-with-safety.yaml @@ -17,14 +17,17 @@ providers: config: huggingface_repo: ${env.INFERENCE_MODEL} api_token: ${env.HF_API_TOKEN} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false - provider_id: hf-serverless-safety provider_type: remote::hf::serverless config: huggingface_repo: ${env.SAFETY_MODEL} api_token: ${env.HF_API_TOKEN} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -33,11 +36,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +54,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -64,6 +71,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -72,6 +80,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -79,34 +88,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/registry.db diff --git a/llama_stack/templates/hf-serverless/run.yaml b/llama_stack/templates/hf-serverless/run.yaml index 19484cba62..5a1b3c87b8 100644 --- a/llama_stack/templates/hf-serverless/run.yaml +++ b/llama_stack/templates/hf-serverless/run.yaml @@ -17,9 +17,11 @@ providers: config: huggingface_repo: ${env.INFERENCE_MODEL} api_token: ${env.HF_API_TOKEN} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,34 +82,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/registry.db diff --git a/llama_stack/templates/llama_api/run.yaml b/llama_stack/templates/llama_api/run.yaml index 3bfb284a30..1a10cf6b18 100644 --- a/llama_stack/templates/llama_api/run.yaml +++ b/llama_stack/templates/llama_api/run.yaml @@ -17,18 +17,22 @@ providers: config: openai_compat_api_base: https://api.llama.com/compat/v1/ api_key: ${env.LLAMA_API_KEY:=} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: sqlite-vec provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/sqlite_vec.db + immutable: false - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} + immutable: false - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: @@ -37,11 +41,13 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -53,6 +59,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -60,6 +67,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -68,6 +76,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -76,6 +85,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -83,34 +93,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/registry.db 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 46b3a33a6a..03decd27c8 100644 --- a/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml +++ b/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml @@ -22,9 +22,11 @@ providers: model_parallel_size: ${env.MODEL_PARALLEL_SIZE:=0} max_batch_size: ${env.MAX_BATCH_SIZE:=1} max_seq_len: ${env.MAX_SEQ_LEN:=4096} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false - provider_id: meta-reference-safety provider_type: inline::meta-reference config: @@ -35,6 +37,7 @@ providers: model_parallel_size: ${env.MODEL_PARALLEL_SIZE:=0} max_batch_size: ${env.MAX_BATCH_SIZE:=1} max_seq_len: ${env.MAX_SEQ_LEN:=4096} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -43,11 +46,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +64,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -66,6 +72,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -74,6 +81,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -82,6 +90,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -89,34 +98,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/registry.db diff --git a/llama_stack/templates/meta-reference-gpu/run.yaml b/llama_stack/templates/meta-reference-gpu/run.yaml index 033ec245a3..7862b10a9f 100644 --- a/llama_stack/templates/meta-reference-gpu/run.yaml +++ b/llama_stack/templates/meta-reference-gpu/run.yaml @@ -22,9 +22,11 @@ providers: model_parallel_size: ${env.MODEL_PARALLEL_SIZE:=0} max_batch_size: ${env.MAX_BATCH_SIZE:=1} max_seq_len: ${env.MAX_SEQ_LEN:=4096} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -33,11 +35,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +53,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +61,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -64,6 +70,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -72,6 +79,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -79,34 +87,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/registry.db diff --git a/llama_stack/templates/nvidia/run-with-safety.yaml b/llama_stack/templates/nvidia/run-with-safety.yaml index 73783be988..5655e76912 100644 --- a/llama_stack/templates/nvidia/run-with-safety.yaml +++ b/llama_stack/templates/nvidia/run-with-safety.yaml @@ -19,11 +19,13 @@ providers: 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} + immutable: false - provider_id: nvidia provider_type: remote::nvidia config: guardrails_service_url: ${env.GUARDRAILS_SERVICE_URL:=http://localhost:7331} config_id: ${env.NVIDIA_GUARDRAILS_CONFIG_ID:=self-check} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -32,12 +34,14 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/faiss_store.db + immutable: false safety: - provider_id: nvidia provider_type: remote::nvidia config: guardrails_service_url: ${env.GUARDRAILS_SERVICE_URL:=http://localhost:7331} config_id: ${env.NVIDIA_GUARDRAILS_CONFIG_ID:=self-check} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +53,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,11 +61,13 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/trace_store.db + immutable: false eval: - provider_id: nvidia provider_type: remote::nvidia config: evaluator_url: ${env.NVIDIA_EVALUATOR_URL:=http://localhost:7331} + immutable: false post_training: - provider_id: nvidia provider_type: remote::nvidia @@ -69,6 +76,7 @@ providers: dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} customizer_url: ${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test} + immutable: false datasetio: - provider_id: localfs provider_type: inline::localfs @@ -77,6 +85,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/localfs_datasetio.db + immutable: false - provider_id: nvidia provider_type: remote::nvidia config: @@ -84,14 +93,17 @@ providers: dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} datasets_url: ${env.NVIDIA_DATASETS_URL:=http://nemo.test} + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false tool_runtime: - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/registry.db diff --git a/llama_stack/templates/nvidia/run.yaml b/llama_stack/templates/nvidia/run.yaml index af9d5904a5..e9699f7142 100644 --- a/llama_stack/templates/nvidia/run.yaml +++ b/llama_stack/templates/nvidia/run.yaml @@ -19,6 +19,7 @@ providers: 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} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -27,12 +28,14 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/faiss_store.db + immutable: false safety: - provider_id: nvidia provider_type: remote::nvidia config: guardrails_service_url: ${env.GUARDRAILS_SERVICE_URL:=http://localhost:7331} config_id: ${env.NVIDIA_GUARDRAILS_CONFIG_ID:=self-check} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +47,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,11 +55,13 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/trace_store.db + immutable: false eval: - provider_id: nvidia provider_type: remote::nvidia config: evaluator_url: ${env.NVIDIA_EVALUATOR_URL:=http://localhost:7331} + immutable: false post_training: - provider_id: nvidia provider_type: remote::nvidia @@ -64,6 +70,7 @@ providers: dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} customizer_url: ${env.NVIDIA_CUSTOMIZER_URL:=http://nemo.test} + immutable: false datasetio: - provider_id: nvidia provider_type: remote::nvidia @@ -72,14 +79,17 @@ providers: dataset_namespace: ${env.NVIDIA_DATASET_NAMESPACE:=default} project_id: ${env.NVIDIA_PROJECT_ID:=test-project} datasets_url: ${env.NVIDIA_DATASETS_URL:=http://nemo.test} + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false tool_runtime: - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/registry.db diff --git a/llama_stack/templates/ollama/run-with-safety.yaml b/llama_stack/templates/ollama/run-with-safety.yaml index bad51de09f..ac3fe02ca9 100644 --- a/llama_stack/templates/ollama/run-with-safety.yaml +++ b/llama_stack/templates/ollama/run-with-safety.yaml @@ -19,6 +19,7 @@ providers: config: url: ${env.OLLAMA_URL:=http://localhost:11434} raise_on_connect_error: true + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -27,13 +28,16 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: {} + immutable: false - provider_id: code-scanner provider_type: inline::code-scanner config: {} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -45,6 +49,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -52,6 +57,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -60,6 +66,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,6 +75,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -75,17 +83,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -94,6 +106,7 @@ providers: metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/files_metadata.db + immutable: false post_training: - provider_id: huggingface provider_type: inline::huggingface @@ -101,27 +114,33 @@ providers: checkpoint_format: huggingface distributed_backend: null device: cpu + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false 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 e1dea730e9..ce27cefc51 100644 --- a/llama_stack/templates/ollama/run.yaml +++ b/llama_stack/templates/ollama/run.yaml @@ -19,6 +19,7 @@ providers: config: url: ${env.OLLAMA_URL:=http://localhost:11434} raise_on_connect_error: true + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -27,11 +28,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -43,6 +46,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -50,6 +54,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -58,6 +63,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -66,6 +72,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -73,17 +80,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -92,6 +103,7 @@ providers: metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/files_metadata.db + immutable: false post_training: - provider_id: huggingface provider_type: inline::huggingface @@ -99,27 +111,33 @@ providers: checkpoint_format: huggingface distributed_backend: null device: cpu + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/registry.db diff --git a/llama_stack/templates/open-benchmark/run.yaml b/llama_stack/templates/open-benchmark/run.yaml index 57ae6b9bee..5268b76273 100644 --- a/llama_stack/templates/open-benchmark/run.yaml +++ b/llama_stack/templates/open-benchmark/run.yaml @@ -16,33 +16,40 @@ providers: provider_type: remote::openai config: api_key: ${env.OPENAI_API_KEY:=} + immutable: false - provider_id: anthropic provider_type: remote::anthropic config: api_key: ${env.ANTHROPIC_API_KEY:=} + immutable: false - provider_id: gemini provider_type: remote::gemini config: api_key: ${env.GEMINI_API_KEY:=} + immutable: false - provider_id: groq provider_type: remote::groq config: url: https://api.groq.com api_key: ${env.GROQ_API_KEY:=} + immutable: false - provider_id: together provider_type: remote::together config: url: https://api.together.xyz/v1 api_key: ${env.TOGETHER_API_KEY:=} + immutable: false vector_io: - provider_id: sqlite-vec provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/sqlite_vec.db + immutable: false - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} + immutable: false - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: @@ -51,11 +58,13 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -67,6 +76,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -74,6 +84,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -82,6 +93,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -90,6 +102,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -97,34 +110,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/registry.db diff --git a/llama_stack/templates/passthrough/run-with-safety.yaml b/llama_stack/templates/passthrough/run-with-safety.yaml index 7a30f665cc..2e09bb808b 100644 --- a/llama_stack/templates/passthrough/run-with-safety.yaml +++ b/llama_stack/templates/passthrough/run-with-safety.yaml @@ -17,9 +17,11 @@ providers: config: url: ${env.PASSTHROUGH_URL} api_key: ${env.PASSTHROUGH_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,16 +30,20 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: {} + immutable: false - provider_id: llama-guard-vision provider_type: inline::llama-guard config: {} + immutable: false - provider_id: code-scanner provider_type: inline::code-scanner config: {} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +55,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +63,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -64,6 +72,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -72,6 +81,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -79,38 +89,47 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/registry.db diff --git a/llama_stack/templates/passthrough/run.yaml b/llama_stack/templates/passthrough/run.yaml index dc751ea209..c5675c7ed8 100644 --- a/llama_stack/templates/passthrough/run.yaml +++ b/llama_stack/templates/passthrough/run.yaml @@ -17,9 +17,11 @@ providers: config: url: ${env.PASSTHROUGH_URL} api_key: ${env.PASSTHROUGH_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,38 +82,47 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/registry.db diff --git a/llama_stack/templates/postgres-demo/run.yaml b/llama_stack/templates/postgres-demo/run.yaml index dd20cc6ac7..4071ed5d8f 100644 --- a/llama_stack/templates/postgres-demo/run.yaml +++ b/llama_stack/templates/postgres-demo/run.yaml @@ -16,19 +16,23 @@ providers: max_tokens: ${env.VLLM_MAX_TOKENS:=4096} api_token: ${env.VLLM_API_TOKEN:=fake} tls_verify: ${env.VLLM_TLS_VERIFY:=true} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -47,6 +51,7 @@ providers: db: ${env.POSTGRES_DB:=llamastack} user: ${env.POSTGRES_USER:=llamastack} password: ${env.POSTGRES_PASSWORD:=llamastack} + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -54,23 +59,28 @@ providers: 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} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: postgres host: ${env.POSTGRES_HOST:=localhost} diff --git a/llama_stack/templates/remote-vllm/run-with-safety.yaml b/llama_stack/templates/remote-vllm/run-with-safety.yaml index 78fb22d380..1226728473 100644 --- a/llama_stack/templates/remote-vllm/run-with-safety.yaml +++ b/llama_stack/templates/remote-vllm/run-with-safety.yaml @@ -19,6 +19,7 @@ providers: max_tokens: ${env.VLLM_MAX_TOKENS:=4096} api_token: ${env.VLLM_API_TOKEN:=fake} tls_verify: ${env.VLLM_TLS_VERIFY:=true} + immutable: false - provider_id: vllm-safety provider_type: remote::vllm config: @@ -26,9 +27,11 @@ providers: max_tokens: ${env.VLLM_MAX_TOKENS:=4096} api_token: ${env.VLLM_API_TOKEN:=fake} tls_verify: ${env.VLLM_TLS_VERIFY:=true} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -37,11 +40,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -53,6 +58,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/responses_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,6 +67,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -69,6 +76,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -76,17 +84,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -94,27 +106,33 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/trace_store.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false 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 1cc4596f33..d60cec984a 100644 --- a/llama_stack/templates/remote-vllm/run.yaml +++ b/llama_stack/templates/remote-vllm/run.yaml @@ -19,9 +19,11 @@ providers: max_tokens: ${env.VLLM_MAX_TOKENS:=4096} api_token: ${env.VLLM_API_TOKEN:=fake} tls_verify: ${env.VLLM_TLS_VERIFY:=true} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -30,11 +32,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -46,6 +50,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/responses_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -54,6 +59,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -62,6 +68,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -69,17 +76,21 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -87,27 +98,33 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/trace_store.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false 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 6163a58b37..44a2dff019 100644 --- a/llama_stack/templates/sambanova/run.yaml +++ b/llama_stack/templates/sambanova/run.yaml @@ -14,9 +14,11 @@ providers: config: url: https://api.sambanova.ai/v1 api_key: ${env.SAMBANOVA_API_KEY} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -25,10 +27,12 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/sambanova}/faiss_store.db + immutable: false - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} + immutable: false - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: @@ -37,12 +41,14 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} + immutable: false safety: - provider_id: sambanova provider_type: remote::sambanova config: url: https://api.sambanova.ai/v1 api_key: ${env.SAMBANOVA_API_KEY} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -54,6 +60,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/sambanova}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,27 +68,33 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/sambanova}/trace_store.db + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/sambanova}/registry.db diff --git a/llama_stack/templates/starter/run.yaml b/llama_stack/templates/starter/run.yaml index 1900306902..7a3f5f88f6 100644 --- a/llama_stack/templates/starter/run.yaml +++ b/llama_stack/templates/starter/run.yaml @@ -17,39 +17,47 @@ providers: provider_type: remote::openai config: api_key: ${env.OPENAI_API_KEY:=} + immutable: false - provider_id: fireworks provider_type: remote::fireworks config: url: https://api.fireworks.ai/inference/v1 api_key: ${env.FIREWORKS_API_KEY:=} + immutable: false - provider_id: together provider_type: remote::together config: url: https://api.together.xyz/v1 api_key: ${env.TOGETHER_API_KEY:=} + immutable: false - provider_id: ollama provider_type: remote::ollama config: url: ${env.OLLAMA_URL:=http://localhost:11434} raise_on_connect_error: false + immutable: false - provider_id: anthropic provider_type: remote::anthropic config: api_key: ${env.ANTHROPIC_API_KEY:=} + immutable: false - provider_id: gemini provider_type: remote::gemini config: api_key: ${env.GEMINI_API_KEY:=} + immutable: false - provider_id: groq provider_type: remote::groq config: url: https://api.groq.com api_key: ${env.GROQ_API_KEY:=} + immutable: false - provider_id: sambanova provider_type: remote::sambanova config: url: https://api.sambanova.ai/v1 api_key: ${env.SAMBANOVA_API_KEY:=} + immutable: false - provider_id: vllm provider_type: remote::vllm config: @@ -57,9 +65,11 @@ providers: max_tokens: ${env.VLLM_MAX_TOKENS:=4096} api_token: ${env.VLLM_API_TOKEN:=fake} tls_verify: ${env.VLLM_TLS_VERIFY:=true} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -68,10 +78,12 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/faiss_store.db + immutable: false - provider_id: ${env.ENABLE_SQLITE_VEC:+sqlite-vec} provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sqlite_vec.db + immutable: false - provider_id: ${env.ENABLE_MILVUS:+milvus} provider_type: inline::milvus config: @@ -80,10 +92,12 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/milvus_registry.db + immutable: false - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} + immutable: false - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: @@ -92,6 +106,7 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} + immutable: false files: - provider_id: meta-reference-files provider_type: inline::localfs @@ -100,11 +115,13 @@ providers: metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/files_metadata.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -116,6 +133,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -123,6 +141,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -131,6 +150,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -139,6 +159,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -146,34 +167,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/registry.db diff --git a/llama_stack/templates/tgi/run-with-safety.yaml b/llama_stack/templates/tgi/run-with-safety.yaml index c4f9ae7ef8..856d32fa92 100644 --- a/llama_stack/templates/tgi/run-with-safety.yaml +++ b/llama_stack/templates/tgi/run-with-safety.yaml @@ -16,10 +16,12 @@ providers: provider_type: remote::tgi config: url: ${env.TGI_URL} + immutable: false - provider_id: tgi-safety provider_type: remote::tgi config: url: ${env.TGI_SAFETY_URL} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,34 +82,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/registry.db diff --git a/llama_stack/templates/tgi/run.yaml b/llama_stack/templates/tgi/run.yaml index 70e5872b30..bef7e8469f 100644 --- a/llama_stack/templates/tgi/run.yaml +++ b/llama_stack/templates/tgi/run.yaml @@ -16,9 +16,11 @@ providers: provider_type: remote::tgi config: url: ${env.TGI_URL} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -27,11 +29,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -43,6 +47,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -50,6 +55,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -58,6 +64,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -66,6 +73,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -73,34 +81,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/registry.db diff --git a/llama_stack/templates/together/run-with-safety.yaml b/llama_stack/templates/together/run-with-safety.yaml index 14f4238559..0b4800cb04 100644 --- a/llama_stack/templates/together/run-with-safety.yaml +++ b/llama_stack/templates/together/run-with-safety.yaml @@ -17,9 +17,11 @@ providers: config: url: https://api.together.xyz/v1 api_key: ${env.TOGETHER_API_KEY:=} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,16 +30,20 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: {} + immutable: false - provider_id: llama-guard-vision provider_type: inline::llama-guard config: {} + immutable: false - provider_id: code-scanner provider_type: inline::code-scanner config: {} + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -49,6 +55,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +63,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -64,6 +72,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -72,6 +81,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -79,38 +89,47 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false 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 38f1922c0d..a349f30a18 100644 --- a/llama_stack/templates/together/run.yaml +++ b/llama_stack/templates/together/run.yaml @@ -17,9 +17,11 @@ providers: config: url: https://api.together.xyz/v1 api_key: ${env.TOGETHER_API_KEY:=} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -28,11 +30,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -44,6 +48,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -51,6 +56,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -59,6 +65,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,6 +74,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -74,38 +82,47 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: api_key: ${env.WOLFRAM_ALPHA_API_KEY:=} + immutable: false 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 6854ad05c2..32cae89ca2 100644 --- a/llama_stack/templates/vllm-gpu/run.yaml +++ b/llama_stack/templates/vllm-gpu/run.yaml @@ -21,9 +21,11 @@ providers: max_num_seqs: ${env.MAX_NUM_SEQS:=4} enforce_eager: ${env.ENFORCE_EAGER:=False} gpu_memory_utilization: ${env.GPU_MEMORY_UTILIZATION:=0.3} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -32,11 +34,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -48,6 +52,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -55,6 +60,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -63,6 +69,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -71,6 +78,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -78,34 +86,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/registry.db diff --git a/llama_stack/templates/watsonx/run.yaml b/llama_stack/templates/watsonx/run.yaml index 8b8fc09c4c..7d5ea23d51 100644 --- a/llama_stack/templates/watsonx/run.yaml +++ b/llama_stack/templates/watsonx/run.yaml @@ -18,9 +18,11 @@ providers: url: ${env.WATSONX_BASE_URL:=https://us-south.ml.cloud.ibm.com} api_key: ${env.WATSONX_API_KEY:=} project_id: ${env.WATSONX_PROJECT_ID:=} + immutable: false - provider_id: sentence-transformers provider_type: inline::sentence-transformers config: {} + immutable: false vector_io: - provider_id: faiss provider_type: inline::faiss @@ -29,11 +31,13 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/faiss_store.db + immutable: false safety: - provider_id: llama-guard provider_type: inline::llama-guard config: excluded_categories: [] + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -45,6 +49,7 @@ providers: responses_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/responses_store.db + immutable: false telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -52,6 +57,7 @@ providers: service_name: "${env.OTEL_SERVICE_NAME:=\u200B}" sinks: ${env.TELEMETRY_SINKS:=console,sqlite} sqlite_db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -60,6 +66,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,6 +75,7 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: @@ -75,34 +83,42 @@ providers: type: sqlite namespace: null db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/localfs_datasetio.db + immutable: false scoring: - provider_id: basic provider_type: inline::basic config: {} + immutable: false - provider_id: llm-as-judge provider_type: inline::llm-as-judge config: {} + immutable: false - provider_id: braintrust provider_type: inline::braintrust config: openai_api_key: ${env.OPENAI_API_KEY:=} + immutable: false tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: api_key: ${env.BRAVE_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: tavily-search provider_type: remote::tavily-search config: api_key: ${env.TAVILY_SEARCH_API_KEY:=} max_results: 3 + immutable: false - provider_id: rag-runtime provider_type: inline::rag-runtime config: {} + immutable: false - provider_id: model-context-protocol provider_type: remote::model-context-protocol config: {} + immutable: false metadata_store: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/registry.db diff --git a/tests/integration/providers/test_providers.py b/tests/integration/providers/test_providers.py index 8b153411c2..2069d4b613 100644 --- a/tests/integration/providers/test_providers.py +++ b/tests/integration/providers/test_providers.py @@ -21,3 +21,20 @@ def test_providers(self, llama_stack_client: LlamaStackAsLibraryClient | LlamaSt pid = provider.provider_id provider = llama_stack_client.providers.retrieve(pid) assert provider is not None + + @pytest.mark.asyncio + def test_providers_update(self, llama_stack_client: LlamaStackAsLibraryClient | LlamaStackClient): + new_cfg = {"url": "http://localhost:12345"} + + _ = llama_stack_client.providers.retrieve("ollama") + + llama_stack_client.providers.update( + api="inference", + provider_id="ollama", + provider_type="remote::ollama", + config=new_cfg, + ) + + new_provider = llama_stack_client.providers.retrieve("ollama") + + assert new_provider.config == new_cfg