mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-22 16:23:08 +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
38 lines
1.2 KiB
Python
38 lines
1.2 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
|
|
|
|
from llama_stack.providers.utils.kvstore import KVStoreConfig
|
|
from llama_stack.providers.utils.kvstore.config import SqliteKVStoreConfig
|
|
from llama_stack.providers.utils.sqlstore.sqlstore import SqliteSqlStoreConfig, SqlStoreConfig
|
|
|
|
|
|
class AgentPersistenceConfig(BaseModel):
|
|
"""Nested persistence configuration for agents."""
|
|
agent_state: KVStoreConfig
|
|
responses: SqlStoreConfig
|
|
|
|
|
|
class MetaReferenceAgentsImplConfig(BaseModel):
|
|
persistence: AgentPersistenceConfig
|
|
|
|
@classmethod
|
|
def sample_run_config(cls, __distro_dir__: str) -> dict[str, Any]:
|
|
return {
|
|
"persistence": {
|
|
"agent_state": SqliteKVStoreConfig.sample_run_config(
|
|
__distro_dir__=__distro_dir__,
|
|
db_name="agents_store.db",
|
|
),
|
|
"responses": SqliteSqlStoreConfig.sample_run_config(
|
|
__distro_dir__=__distro_dir__,
|
|
db_name="responses_store.db",
|
|
),
|
|
}
|
|
}
|