fix(agent): add memory config validation and fix config id reference

- Add null check for actual_config_id before calling term_memory_save in langchain_agent.py to prevent errors when memory config is unavailable
- Add warning log when skipping term_memory_save due to missing memory config
- Fix incorrect attribute reference from memory_config.id to memory_config.config_id in memory_agent_service.py
- Fix method call from private _get_workspace_default_config to public get_workspace_default_config in memory_config_service.py
- Ensures graceful handling of missing memory configurations and prevents runtime errors
This commit is contained in:
Ke Sun
2026-02-05 10:19:43 +08:00
parent 1e9c32a102
commit a3cf773e75
3 changed files with 11 additions and 5 deletions

View File

@@ -512,7 +512,10 @@ class LangChainAgent:
# AI 回复写入(用户消息和 AI 回复配对,一次性写入完整对话)
await self.write(storage_type, actual_end_user_id, message_chat, content, user_rag_memory_id, actual_end_user_id, actual_config_id)
'''长期'''
await self.term_memory_save(long_term_messages,actual_config_id,end_user_id,"chunk")
if actual_config_id:
await self.term_memory_save(long_term_messages,actual_config_id,end_user_id,"chunk")
else:
logger.warning(f"Skipping term_memory_save: no memory config available for end_user {end_user_id}")
response = {
"content": content,
"model": self.model_name,
@@ -698,7 +701,10 @@ class LangChainAgent:
# AI 回复写入(用户消息和 AI 回复配对,一次性写入完整对话)
long_term_messages = await agent_chat_messages(message_chat, full_content)
await self.write(storage_type, end_user_id, message_chat, full_content, user_rag_memory_id, end_user_id, actual_config_id)
await self.term_memory_save(long_term_messages, actual_config_id, end_user_id, "chunk")
if actual_config_id:
await self.term_memory_save(long_term_messages, actual_config_id, end_user_id, "chunk")
else:
logger.warning(f"Skipping term_memory_save: no memory config available for end_user {end_user_id}")
except Exception as e:
logger.error(f"Agent astream_events 失败: {str(e)}", exc_info=True)