mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-23 08:33:09 +00:00
BREAKING CHANGE: Provider config field names changed for semantic clarity - Rename kvstore → persistence for all providers - Simple providers: flat persistence with backend reference - Complex providers (agents): nested persistence.agent_state + persistence.responses - Files provider: metadata_store → persistence - Provider configs now clearly express 'how do I persist?' not 'what type of store?' Example: # Before config: kvstore: backend: kvstore namespace: faiss # After config: persistence: backend: kvstore namespace: faiss # Agents (nested) config: persistence: agent_state: backend: kvstore namespace: agents responses: backend: sqlstore namespace: responses
31 lines
1 KiB
Python
31 lines
1 KiB
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from llama_stack.providers.utils.sqlstore.sqlstore import SqliteSqlStoreConfig, SqlStoreConfig
|
|
|
|
|
|
class LocalfsFilesImplConfig(BaseModel):
|
|
storage_dir: str = Field(
|
|
description="Directory to store uploaded files",
|
|
)
|
|
persistence: SqlStoreConfig = Field(
|
|
description="SQL store configuration for file metadata",
|
|
)
|
|
ttl_secs: int = 365 * 24 * 60 * 60 # 1 year
|
|
|
|
@classmethod
|
|
def sample_run_config(cls, __distro_dir__: str) -> dict[str, Any]:
|
|
return {
|
|
"storage_dir": "${env.FILES_STORAGE_DIR:=" + __distro_dir__ + "/files}",
|
|
"persistence": SqliteSqlStoreConfig.sample_run_config(
|
|
__distro_dir__=__distro_dir__,
|
|
db_name="files_metadata.db",
|
|
),
|
|
}
|