From a385e0d95e2ef38ffb1b7a14e0bf4079f9c0b9fc Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Sun, 5 Oct 2025 21:55:44 -0700 Subject: [PATCH] more better --- llama_stack/cli/stack/_build.py | 7 +- llama_stack/core/datatypes.py | 8 +- llama_stack/core/provider_config_resolver.py | 6 +- llama_stack/distributions/dell/run.yaml | 50 ++++++----- .../distributions/meta-reference-gpu/run.yaml | 50 ++++++----- llama_stack/distributions/nvidia/run.yaml | 38 ++++---- .../distributions/open-benchmark/run.yaml | 62 ++++++------- .../distributions/starter-gpu/run.yaml | 86 ++++++++++--------- llama_stack/distributions/starter/run.yaml | 73 ++++++++-------- llama_stack/distributions/watsonx/run.yaml | 45 +++++----- .../inline/agents/meta_reference/config.py | 1 + .../inline/batches/reference/__init__.py | 2 +- .../providers/remote/files/s3/files.py | 2 +- .../remote/vector_io/pgvector/config.py | 4 +- .../remote/vector_io/weaviate/config.py | 4 +- 15 files changed, 230 insertions(+), 208 deletions(-) diff --git a/llama_stack/cli/stack/_build.py b/llama_stack/cli/stack/_build.py index b14e6fe55..f97f6fb0b 100644 --- a/llama_stack/cli/stack/_build.py +++ b/llama_stack/cli/stack/_build.py @@ -295,12 +295,7 @@ def _generate_run_config( if build_config.external_providers_dir else EXTERNAL_PROVIDERS_DIR, ) - if not run_config.inference_store: - run_config.inference_store = SqliteSqlStoreConfig( - **SqliteSqlStoreConfig.sample_run_config( - __distro_dir__=(DISTRIBS_BASE_DIR / image_name).as_posix(), db_name="inference_store.db" - ) - ) + # Persistence config defaults are handled by PersistenceConfig model validators # build providers dict provider_registry = get_provider_registry(build_config) for api in apis: diff --git a/llama_stack/core/datatypes.py b/llama_stack/core/datatypes.py index 4ba2864ec..abe5c48a1 100644 --- a/llama_stack/core/datatypes.py +++ b/llama_stack/core/datatypes.py @@ -664,13 +664,11 @@ reference them from multiple stores. If not specified, default SQLite stores wil providers_dict[api] = [p.model_dump() for p in provider_list] # Resolve backend references - resolved_providers = resolve_provider_kvstore_references( - providers_dict, self.persistence.backends - ) + resolved_providers = resolve_provider_kvstore_references(providers_dict, self.persistence.backends) # Convert back to Provider objects - for api, provider_list in resolved_providers.items(): - self.providers[api] = [Provider(**p) for p in provider_list] + for api, provider_dicts in resolved_providers.items(): + self.providers[api] = [Provider(**provider_dict) for provider_dict in provider_dicts] return self diff --git a/llama_stack/core/provider_config_resolver.py b/llama_stack/core/provider_config_resolver.py index e3d5304ac..93ac0e838 100644 --- a/llama_stack/core/provider_config_resolver.py +++ b/llama_stack/core/provider_config_resolver.py @@ -29,7 +29,7 @@ def resolve_provider_kvstore_references( db_path: /path/to/kvstore.db namespace: faiss """ - for api, provider_list in providers.items(): + for _api, provider_list in providers.items(): for provider in provider_list: config = provider.get("config", {}) _resolve_kvstore_in_dict(config, persistence_backends) @@ -53,7 +53,9 @@ def _resolve_kvstore_in_dict(config: dict[str, Any], backends: dict[str, Any]) - # Clone the backend config and apply namespace backend_config = backends[backend_name] - resolved_config = backend_config.model_dump() if hasattr(backend_config, "model_dump") else dict(backend_config) + resolved_config = ( + backend_config.model_dump() if hasattr(backend_config, "model_dump") else dict(backend_config) + ) if namespace: resolved_config["namespace"] = namespace diff --git a/llama_stack/distributions/dell/run.yaml b/llama_stack/distributions/dell/run.yaml index dcf10fff4..dcb6fb86a 100644 --- a/llama_stack/distributions/dell/run.yaml +++ b/llama_stack/distributions/dell/run.yaml @@ -11,7 +11,7 @@ apis: - tool_runtime - vector_io providers: - inference: + inference: - provider_id: tgi0 provider_type: remote::tgi config: @@ -23,9 +23,9 @@ providers: provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell/}/chroma_remote_registry.db + persistence: + backend: kvstore + namespace: chromadb safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -35,12 +35,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -53,22 +54,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface_datasetio - provider_id: localfs provider_type: inline::localfs config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/localfs_datasetio.db + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -93,14 +94,17 @@ providers: provider_type: inline::rag-runtime persistence: backends: - default: + kvstore: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/kvstore.db + sqlstore: + type: sqlite + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/dell}/sqlstore.db stores: metadata: - backend: default + backend: kvstore inference: - backend: default + backend: sqlstore models: - metadata: {} model_id: ${env.INFERENCE_MODEL} diff --git a/llama_stack/distributions/meta-reference-gpu/run.yaml b/llama_stack/distributions/meta-reference-gpu/run.yaml index fbec6ef01..d117aa493 100644 --- a/llama_stack/distributions/meta-reference-gpu/run.yaml +++ b/llama_stack/distributions/meta-reference-gpu/run.yaml @@ -11,7 +11,7 @@ apis: - tool_runtime - vector_io providers: - inference: + inference: - provider_id: meta-reference-inference provider_type: inline::meta-reference config: @@ -28,9 +28,9 @@ providers: - provider_id: faiss provider_type: inline::faiss config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/faiss_store.db + persistence: + backend: kvstore + namespace: faiss safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -40,12 +40,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -58,22 +59,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface_datasetio - 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 + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -100,14 +101,17 @@ providers: provider_type: remote::model-context-protocol persistence: backends: - default: + kvstore: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/kvstore.db + sqlstore: + type: sqlite + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/meta-reference-gpu}/sqlstore.db stores: metadata: - backend: default + backend: kvstore inference: - backend: default + backend: sqlstore models: - metadata: {} model_id: ${env.INFERENCE_MODEL} diff --git a/llama_stack/distributions/nvidia/run.yaml b/llama_stack/distributions/nvidia/run.yaml index 78cb56673..15fffa5de 100644 --- a/llama_stack/distributions/nvidia/run.yaml +++ b/llama_stack/distributions/nvidia/run.yaml @@ -13,7 +13,7 @@ apis: - tool_runtime - vector_io providers: - inference: + inference: - provider_id: nvidia provider_type: remote::nvidia config: @@ -24,9 +24,9 @@ providers: - provider_id: faiss provider_type: inline::faiss config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/faiss_store.db + persistence: + backend: kvstore + namespace: faiss safety: - provider_id: nvidia provider_type: remote::nvidia @@ -37,12 +37,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -83,19 +84,22 @@ providers: provider_type: inline::localfs config: storage_dir: ${env.FILES_STORAGE_DIR:=~/.llama/distributions/nvidia/files} - metadata_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/files_metadata.db + persistence: + backend: kvstore + namespace: files persistence: backends: - default: + kvstore: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/kvstore.db + sqlstore: + type: sqlite + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/nvidia}/sqlstore.db stores: metadata: - backend: default + backend: kvstore inference: - backend: default + backend: sqlstore models: [] shields: [] vector_dbs: [] diff --git a/llama_stack/distributions/open-benchmark/run.yaml b/llama_stack/distributions/open-benchmark/run.yaml index 5ca50383c..5d4331937 100644 --- a/llama_stack/distributions/open-benchmark/run.yaml +++ b/llama_stack/distributions/open-benchmark/run.yaml @@ -11,7 +11,7 @@ apis: - tool_runtime - vector_io providers: - inference: + inference: - provider_id: openai provider_type: remote::openai config: @@ -40,16 +40,16 @@ providers: provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/sqlite_vec.db - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/sqlite_vec_registry.db + persistence: + backend: kvstore + namespace: sqlite_vec - provider_id: ${env.ENABLE_CHROMADB:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/chroma_remote_registry.db + persistence: + backend: kvstore + namespace: chromadb - provider_id: ${env.ENABLE_PGVECTOR:+pgvector} provider_type: remote::pgvector config: @@ -58,9 +58,9 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/pgvector_registry.db + persistence: + backend: kvstore + namespace: pgvector safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -70,12 +70,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -88,22 +89,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface_datasetio - provider_id: localfs provider_type: inline::localfs config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/localfs_datasetio.db + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -130,14 +131,17 @@ providers: provider_type: remote::model-context-protocol persistence: backends: - default: + kvstore: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/kvstore.db + sqlstore: + type: sqlite + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/open-benchmark}/sqlstore.db stores: metadata: - backend: default + backend: kvstore inference: - backend: default + backend: sqlstore models: - metadata: {} model_id: gpt-4o diff --git a/llama_stack/distributions/starter-gpu/run.yaml b/llama_stack/distributions/starter-gpu/run.yaml index 2bdc3dbdb..0108c8e21 100644 --- a/llama_stack/distributions/starter-gpu/run.yaml +++ b/llama_stack/distributions/starter-gpu/run.yaml @@ -14,7 +14,7 @@ apis: - tool_runtime - vector_io providers: - inference: + inference: - provider_id: ${env.CEREBRAS_API_KEY:+cerebras} provider_type: remote::cerebras config: @@ -94,30 +94,30 @@ providers: - provider_id: faiss provider_type: inline::faiss config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/faiss_store.db + persistence: + backend: kvstore + namespace: faiss - provider_id: sqlite-vec provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/sqlite_vec.db - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/sqlite_vec_registry.db + persistence: + backend: kvstore + namespace: sqlite_vec - provider_id: ${env.MILVUS_URL:+milvus} provider_type: inline::milvus config: db_path: ${env.MILVUS_DB_PATH:=~/.llama/distributions/starter-gpu}/milvus.db - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/milvus_registry.db + persistence: + backend: kvstore + namespace: milvus - provider_id: ${env.CHROMADB_URL:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu/}/chroma_remote_registry.db + persistence: + backend: kvstore + namespace: chromadb - provider_id: ${env.PGVECTOR_DB:+pgvector} provider_type: remote::pgvector config: @@ -126,17 +126,17 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/pgvector_registry.db + persistence: + backend: kvstore + namespace: pgvector files: - provider_id: meta-reference-files provider_type: inline::localfs config: storage_dir: ${env.FILES_STORAGE_DIR:=~/.llama/distributions/starter-gpu/files} - metadata_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/files_metadata.db + persistence: + backend: sqlstore + namespace: files safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -148,12 +148,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -174,22 +175,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface - provider_id: localfs provider_type: inline::localfs config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/localfs_datasetio.db + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -218,19 +219,22 @@ providers: - provider_id: reference provider_type: inline::reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/batches.db + persistence: + backend: kvstore + namespace: batches persistence: backends: - default: + kvstore: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/kvstore.db + sqlstore: + type: sqlite + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter-gpu}/sqlstore.db stores: metadata: - backend: default + backend: kvstore inference: - backend: default + backend: sqlstore models: [] shields: - shield_id: llama-guard diff --git a/llama_stack/distributions/starter/run.yaml b/llama_stack/distributions/starter/run.yaml index 614bfe992..9264263ca 100644 --- a/llama_stack/distributions/starter/run.yaml +++ b/llama_stack/distributions/starter/run.yaml @@ -94,30 +94,30 @@ providers: - provider_id: faiss provider_type: inline::faiss config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/faiss_store.db + persistence: + backend: kvstore + namespace: faiss - provider_id: sqlite-vec provider_type: inline::sqlite-vec config: db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sqlite_vec.db - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sqlite_vec_registry.db + persistence: + backend: kvstore + namespace: sqlite_vec - provider_id: ${env.MILVUS_URL:+milvus} provider_type: inline::milvus config: db_path: ${env.MILVUS_DB_PATH:=~/.llama/distributions/starter}/milvus.db - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/milvus_registry.db + persistence: + backend: kvstore + namespace: milvus - provider_id: ${env.CHROMADB_URL:+chromadb} provider_type: remote::chromadb config: url: ${env.CHROMADB_URL:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter/}/chroma_remote_registry.db + persistence: + backend: kvstore + namespace: chromadb - provider_id: ${env.PGVECTOR_DB:+pgvector} provider_type: remote::pgvector config: @@ -126,17 +126,17 @@ providers: db: ${env.PGVECTOR_DB:=} user: ${env.PGVECTOR_USER:=} password: ${env.PGVECTOR_PASSWORD:=} - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/pgvector_registry.db + persistence: + backend: kvstore + namespace: pgvector files: - provider_id: meta-reference-files provider_type: inline::localfs config: storage_dir: ${env.FILES_STORAGE_DIR:=~/.llama/distributions/starter/files} - metadata_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/files_metadata.db + persistence: + backend: sqlstore + namespace: files safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -148,12 +148,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -171,22 +172,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface - provider_id: localfs provider_type: inline::localfs config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/localfs_datasetio.db + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -215,9 +216,9 @@ providers: - provider_id: reference provider_type: inline::reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/batches.db + persistence: + backend: kvstore + namespace: batches persistence: backends: kvstore: diff --git a/llama_stack/distributions/watsonx/run.yaml b/llama_stack/distributions/watsonx/run.yaml index bd101d27e..c97e44a87 100644 --- a/llama_stack/distributions/watsonx/run.yaml +++ b/llama_stack/distributions/watsonx/run.yaml @@ -12,7 +12,7 @@ apis: - vector_io - files providers: - inference: + inference: - provider_id: watsonx provider_type: remote::watsonx config: @@ -25,9 +25,9 @@ providers: - provider_id: faiss provider_type: inline::faiss config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/faiss_store.db + persistence: + backend: kvstore + namespace: faiss safety: - provider_id: llama-guard provider_type: inline::llama-guard @@ -37,12 +37,13 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - persistence_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/agents_store.db - responses_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/responses_store.db + persistence: + agent_state: + backend: kvstore + namespace: agents + responses: + backend: sqlstore + namespace: responses telemetry: - provider_id: meta-reference provider_type: inline::meta-reference @@ -55,22 +56,22 @@ providers: - provider_id: meta-reference provider_type: inline::meta-reference config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/meta_reference_eval.db + persistence: + backend: kvstore + namespace: eval datasetio: - provider_id: huggingface provider_type: remote::huggingface config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/huggingface_datasetio.db + persistence: + backend: kvstore + namespace: huggingface_datasetio - provider_id: localfs provider_type: inline::localfs config: - kvstore: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/localfs_datasetio.db + persistence: + backend: kvstore + namespace: localfs_datasetio scoring: - provider_id: basic provider_type: inline::basic @@ -100,9 +101,9 @@ providers: provider_type: inline::localfs config: storage_dir: ${env.FILES_STORAGE_DIR:=~/.llama/distributions/watsonx/files} - metadata_store: - type: sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/watsonx}/files_metadata.db + persistence: + backend: sqlstore + namespace: files persistence: backends: kvstore: diff --git a/llama_stack/providers/inline/agents/meta_reference/config.py b/llama_stack/providers/inline/agents/meta_reference/config.py index d3573be48..924d4ed6e 100644 --- a/llama_stack/providers/inline/agents/meta_reference/config.py +++ b/llama_stack/providers/inline/agents/meta_reference/config.py @@ -15,6 +15,7 @@ from llama_stack.providers.utils.sqlstore.sqlstore import SqliteSqlStoreConfig, class AgentPersistenceConfig(BaseModel): """Nested persistence configuration for agents.""" + agent_state: KVStoreConfig responses: SqlStoreConfig diff --git a/llama_stack/providers/inline/batches/reference/__init__.py b/llama_stack/providers/inline/batches/reference/__init__.py index a8ae92eb2..8433341a8 100644 --- a/llama_stack/providers/inline/batches/reference/__init__.py +++ b/llama_stack/providers/inline/batches/reference/__init__.py @@ -19,7 +19,7 @@ __all__ = ["ReferenceBatchesImpl", "ReferenceBatchesImplConfig"] async def get_provider_impl(config: ReferenceBatchesImplConfig, deps: dict[Api, Any], policy: list[AccessRule]): - kvstore = await kvstore_impl(config.kvstore) + kvstore = await kvstore_impl(config.persistence) inference_api: Inference | None = deps.get(Api.inference) files_api: Files | None = deps.get(Api.files) models_api: Models | None = deps.get(Api.models) diff --git a/llama_stack/providers/remote/files/s3/files.py b/llama_stack/providers/remote/files/s3/files.py index eb339b31e..2053425c9 100644 --- a/llama_stack/providers/remote/files/s3/files.py +++ b/llama_stack/providers/remote/files/s3/files.py @@ -165,7 +165,7 @@ class S3FilesImpl(Files): self._client = _create_s3_client(self._config) await _create_bucket_if_not_exists(self._client, self._config) - self._sql_store = AuthorizedSqlStore(sqlstore_impl(self._config.metadata_store), self.policy) + self._sql_store = AuthorizedSqlStore(sqlstore_impl(self._config.persistence), self.policy) await self._sql_store.create_table( "openai_files", { diff --git a/llama_stack/providers/remote/vector_io/pgvector/config.py b/llama_stack/providers/remote/vector_io/pgvector/config.py index 546beb9bb..1cc69c09a 100644 --- a/llama_stack/providers/remote/vector_io/pgvector/config.py +++ b/llama_stack/providers/remote/vector_io/pgvector/config.py @@ -22,7 +22,9 @@ class PGVectorVectorIOConfig(BaseModel): db: str | None = Field(default="postgres") user: str | None = Field(default="postgres") password: str | None = Field(default="mysecretpassword") - persistence: KVStoreConfig | None = Field(description="Config for KV store backend (SQLite only for now)", default=None) + persistence: KVStoreConfig | None = Field( + description="Config for KV store backend (SQLite only for now)", default=None + ) @classmethod def sample_run_config( diff --git a/llama_stack/providers/remote/vector_io/weaviate/config.py b/llama_stack/providers/remote/vector_io/weaviate/config.py index 4d965d6d1..cb5502ce3 100644 --- a/llama_stack/providers/remote/vector_io/weaviate/config.py +++ b/llama_stack/providers/remote/vector_io/weaviate/config.py @@ -19,7 +19,9 @@ from llama_stack.schema_utils import json_schema_type class WeaviateVectorIOConfig(BaseModel): weaviate_api_key: str | None = Field(description="The API key for the Weaviate instance", default=None) weaviate_cluster_url: str | None = Field(description="The URL of the Weaviate cluster", default="localhost:8080") - persistence: KVStoreConfig | None = Field(description="Config for KV store backend (SQLite only for now)", default=None) + persistence: KVStoreConfig | None = Field( + description="Config for KV store backend (SQLite only for now)", default=None + ) @classmethod def sample_run_config(