feat(memory): add workspace_id fallback support for memory config resolution
- Add workspace_id fallback parameter to memory config loading across all services - Update hot_memory_tags.py to pass workspace_id when resolving memory configuration - Enhance emotion_analytics_service.py to support workspace_id as fallback for config resolution - Improve implicit_memory_service.py with workspace_id fallback in config loading - Update memory_agent_service.py to handle workspace_id resolution and add refactoring TODO - Enhance preference_analysis.jinja2 prompt with critical guidance on supporting_evidence extraction - Add validation to check both config_id and workspace_id before raising configuration errors - Improve error handling and logging for memory configuration resolution across services - This enables more flexible memory configuration resolution when config_id is unavailable
This commit is contained in:
@@ -62,10 +62,14 @@ def _get_llm_client_for_user(user_id: str):
|
||||
from app.services.memory_agent_service import get_end_user_connected_config
|
||||
connected_config = get_end_user_connected_config(user_id, db)
|
||||
config_id = connected_config.get("memory_config_id")
|
||||
workspace_id = connected_config.get("workspace_id")
|
||||
|
||||
if config_id:
|
||||
if config_id or workspace_id:
|
||||
config_service = MemoryConfigService(db)
|
||||
memory_config = config_service.load_memory_config(config_id)
|
||||
memory_config = config_service.load_memory_config(
|
||||
config_id=config_id,
|
||||
workspace_id=workspace_id
|
||||
)
|
||||
factory = MemoryClientFactory(db)
|
||||
return factory.get_llm_client(memory_config.llm_model_id)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user