diff --git a/docs/_static/llama-stack-spec.html b/docs/_static/llama-stack-spec.html index ae9ad5d4c..eb31e634a 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 48cefe12b..3c4e9c865 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 4bc977bf1..0f29a6e05 100644 --- a/llama_stack/apis/providers/providers.py +++ b/llama_stack/apis/providers/providers.py @@ -47,3 +47,8 @@ class Providers(Protocol): :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 5e48ac0ad..1118bf82f 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 cebfabba5..5a59706ac 100644 --- a/llama_stack/distribution/library_client.py +++ b/llama_stack/distribution/library_client.py @@ -25,6 +25,7 @@ from llama_stack_client import ( 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 @@ class AsyncLlamaStackAsLibraryClient(AsyncLlamaStackClient): 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 1d9c1f4e9..75599f9ed 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.apis.providers import ListProvidersResponse, ProviderInfo, Prov 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 @@ class ProviderImpl(Providers): 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 ea66fec5a..ee059a4a6 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 681ab320d..2338fc4b1 100644 --- a/llama_stack/distribution/server/server.py +++ b/llama_stack/distribution/server/server.py @@ -28,8 +28,10 @@ from fastapi import Body, FastAPI, HTTPException, Request 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.access_control.access_control import AccessDeniedError @@ -274,6 +276,84 @@ def create_dynamic_typed_route(func: Any, method: str, route: str) -> Callable: 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 @@ -487,67 +567,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 @@ -597,5 +625,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 068278c66..a02289b0e 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 @@ -22,10 +23,12 @@ providers: kvstore: type: sqlite 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 @@ -36,6 +39,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 @@ -43,6 +47,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 @@ -50,6 +55,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -57,40 +63,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/bedrock}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 305e9a20f..6d5397f62 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 @@ -32,6 +35,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/faiss_store.db + immutable: false agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -42,6 +46,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 @@ -49,6 +54,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -56,23 +62,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/cerebras}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -80,20 +91,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 5a68af3e6..721e66017 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 @@ -40,6 +44,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 @@ -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/ci-tests}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -54,6 +60,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -61,40 +68,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ci-tests}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 1e1ef1ea9..3e8600a73 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 @@ -43,6 +48,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 @@ -50,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/dell}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -57,6 +64,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -64,37 +72,45 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 6f5c56dd3..7f6d644bc 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 @@ -39,6 +43,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 @@ -46,6 +51,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 @@ -53,6 +59,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -60,37 +67,45 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 1233e2271..349c467ff 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 @@ -28,16 +30,20 @@ providers: kvstore: type: sqlite 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 @@ -48,6 +54,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 @@ -55,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/fireworks}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -62,6 +70,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -69,23 +78,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 +108,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 7f0bc49f5..547462e1f 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 @@ -28,11 +30,13 @@ providers: kvstore: type: sqlite 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 @@ -43,6 +47,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 @@ -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/fireworks}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -57,6 +63,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -64,23 +71,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/fireworks}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -89,27 +101,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 351ca74f7..aaf9f8cfc 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/groq}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,37 +70,45 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/groq}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 63063ad91..2683a9f06 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 @@ -32,11 +35,13 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +52,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 @@ -54,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/hf-endpoint}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,6 +68,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,40 +76,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 4caf0db04..8ad26b2f1 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/hf-endpoint}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,40 +70,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-endpoint}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 a4bba1f76..fa5cbabf3 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 @@ -32,11 +35,13 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +52,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 @@ -54,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/hf-serverless}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,6 +68,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,40 +76,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 23e4c1f28..bb437ca60 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/hf-serverless}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,40 +70,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/hf-serverless}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 77bbcfbc8..584cbcfee 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 @@ -52,6 +58,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 @@ -59,6 +66,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 @@ -66,6 +74,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -73,40 +82,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/llama_api}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 2f5ee4062..b9d3d8c67 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 @@ -42,11 +45,13 @@ providers: kvstore: type: sqlite 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 @@ -57,6 +62,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 @@ -64,6 +70,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 @@ -71,6 +78,7 @@ providers: kvstore: type: sqlite 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 @@ -78,40 +86,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 cc119bf4d..1d85dea0c 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 @@ -32,11 +34,13 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +51,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 @@ -54,6 +59,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 @@ -61,6 +67,7 @@ providers: kvstore: type: sqlite 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 @@ -68,40 +75,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 7dcfd196d..6fcc42026 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 @@ -31,12 +33,14 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +51,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 @@ -54,11 +59,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 @@ -67,6 +74,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 @@ -74,6 +82,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/localfs_datasetio.db + immutable: false - provider_id: nvidia provider_type: remote::nvidia config: @@ -81,14 +90,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 f69270fb5..c60b74c5c 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 @@ -26,12 +27,14 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +45,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 @@ -49,11 +53,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 @@ -62,6 +68,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 @@ -70,14 +77,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 98db5fc98..34ec08585 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 @@ -26,13 +27,16 @@ providers: kvstore: type: sqlite 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 @@ -43,6 +47,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 +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/ollama}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -57,6 +63,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -64,23 +71,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -89,6 +101,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 @@ -96,27 +109,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 38fb2bace..12f9f2cb0 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 @@ -26,11 +27,13 @@ providers: kvstore: type: sqlite 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 @@ -41,6 +44,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 @@ -48,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/ollama}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -55,6 +60,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -62,23 +68,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ollama}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -87,6 +98,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 @@ -94,27 +106,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 7b1ef8f10..2eec212ac 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 @@ -66,6 +75,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 @@ -73,6 +83,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 @@ -80,6 +91,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -87,40 +99,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 5cd8a2930..1cb8f0505 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 @@ -27,16 +29,20 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +53,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 @@ -54,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/passthrough}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,6 +69,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,44 +77,54 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 5b6078953..25a5ad5c7 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/passthrough}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,44 +70,54 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/passthrough}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 2b6b1a64f..a6063c3ac 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:=\u200B}" 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 a8d30904d..501bbd940 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 @@ -36,11 +39,13 @@ providers: kvstore: type: sqlite 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 @@ -51,6 +56,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 @@ -58,6 +64,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -65,23 +72,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -89,27 +101,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 58c4f867d..6498a6fdc 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 @@ -29,11 +31,13 @@ providers: kvstore: type: sqlite 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 @@ -44,6 +48,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 @@ -51,6 +56,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -58,23 +64,28 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/remote-vllm}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 @@ -82,27 +93,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 ab6c70ae0..bcb1f8f84 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 @@ -24,10 +26,12 @@ providers: kvstore: type: sqlite 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: @@ -36,12 +40,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 @@ -52,6 +58,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 @@ -59,27 +66,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 de8d35683..45a4f5b91 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 @@ -67,10 +77,12 @@ providers: kvstore: type: sqlite 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: @@ -78,10 +90,12 @@ providers: kvstore: type: sqlite 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: @@ -90,6 +104,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 @@ -98,11 +113,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 @@ -113,6 +130,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 @@ -120,6 +138,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 @@ -127,6 +146,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -134,40 +154,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 c19b916d5..fd1aea528 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/tgi}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,40 +70,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 f0197d74c..32197b1b8 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 @@ -26,11 +28,13 @@ providers: kvstore: type: sqlite 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 @@ -41,6 +45,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 @@ -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/tgi}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -55,6 +61,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -62,40 +69,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/tgi}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 b32c9ee8d..75638d24a 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 @@ -27,16 +29,20 @@ providers: kvstore: type: sqlite 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 @@ -47,6 +53,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 @@ -54,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/together}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -61,6 +69,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -68,44 +77,54 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 22c99f6cf..a0d1642d4 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 @@ -27,11 +29,13 @@ providers: kvstore: type: sqlite 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 @@ -42,6 +46,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 @@ -49,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/together}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -56,6 +62,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,44 +70,54 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/together}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 6d122e180..bc4d2f216 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 @@ -31,11 +33,13 @@ providers: kvstore: type: sqlite 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 @@ -46,6 +50,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 @@ -53,6 +58,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 @@ -60,6 +66,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -67,40 +74,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/vllm-gpu}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 d80ee6329..88a5f409a 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 @@ -28,11 +30,13 @@ providers: kvstore: type: sqlite 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 @@ -43,6 +47,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 @@ -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/watsonx}/trace_store.db + immutable: false eval: - provider_id: meta-reference provider_type: inline::meta-reference @@ -57,6 +63,7 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/meta_reference_eval.db + immutable: false datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -64,40 +71,49 @@ providers: kvstore: type: sqlite db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/huggingface_datasetio.db + immutable: false - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite 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 8b153411c..2069d4b61 100644 --- a/tests/integration/providers/test_providers.py +++ b/tests/integration/providers/test_providers.py @@ -21,3 +21,20 @@ class TestProviders: 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