Add/develop memory (#247)
* 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射 * 遗漏的历史映射
This commit is contained in:
@@ -84,9 +84,7 @@ async def trigger_forgetting_cycle(
|
|||||||
|
|
||||||
connected_config = get_end_user_connected_config(end_user_id, db)
|
connected_config = get_end_user_connected_config(end_user_id, db)
|
||||||
config_id = connected_config.get("memory_config_id")
|
config_id = connected_config.get("memory_config_id")
|
||||||
config_id = resolve_config_id(int(config_id), db)
|
config_id = resolve_config_id((config_id), db)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if config_id is None:
|
if config_id is None:
|
||||||
api_logger.warning(f"终端用户 {end_user_id} 未关联记忆配置")
|
api_logger.warning(f"终端用户 {end_user_id} 未关联记忆配置")
|
||||||
@@ -199,7 +197,7 @@ async def update_forgetting_config(
|
|||||||
ApiResponse: 包含更新结果的响应
|
ApiResponse: 包含更新结果的响应
|
||||||
"""
|
"""
|
||||||
workspace_id = current_user.current_workspace_id
|
workspace_id = current_user.current_workspace_id
|
||||||
payload.config_id=resolve_config_id(int(payload.config_id), db)
|
payload.config_id=resolve_config_id((payload.config_id), db)
|
||||||
|
|
||||||
|
|
||||||
# 检查用户是否已选择工作空间
|
# 检查用户是否已选择工作空间
|
||||||
@@ -330,7 +328,7 @@ async def get_forgetting_curve(
|
|||||||
ApiResponse: 包含遗忘曲线数据的响应
|
ApiResponse: 包含遗忘曲线数据的响应
|
||||||
"""
|
"""
|
||||||
workspace_id = current_user.current_workspace_id
|
workspace_id = current_user.current_workspace_id
|
||||||
request.config_id = resolve_config_id(int(request.config_id), db)
|
request.config_id = resolve_config_id((request.config_id), db)
|
||||||
# 检查用户是否已选择工作空间
|
# 检查用户是否已选择工作空间
|
||||||
if workspace_id is None:
|
if workspace_id is None:
|
||||||
api_logger.warning(f"用户 {current_user.username} 尝试获取遗忘曲线但未选择工作空间")
|
api_logger.warning(f"用户 {current_user.username} 尝试获取遗忘曲线但未选择工作空间")
|
||||||
|
|||||||
@@ -177,7 +177,6 @@ class LangChainAgent:
|
|||||||
# messagss_list.append(f'用户:{query}。AI回复:{aimessages}')
|
# messagss_list.append(f'用户:{query}。AI回复:{aimessages}')
|
||||||
# retrieved_content.append({query: aimessages})
|
# retrieved_content.append({query: aimessages})
|
||||||
# return messagss_list,retrieved_content
|
# return messagss_list,retrieved_content
|
||||||
|
|
||||||
async def write(self, storage_type, end_user_id, user_message, ai_message, user_rag_memory_id, actual_end_user_id, actual_config_id):
|
async def write(self, storage_type, end_user_id, user_message, ai_message, user_rag_memory_id, actual_end_user_id, actual_config_id):
|
||||||
"""
|
"""
|
||||||
写入记忆(支持结构化消息)
|
写入记忆(支持结构化消息)
|
||||||
@@ -200,7 +199,9 @@ class LangChainAgent:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
db = next(get_db())
|
db = next(get_db())
|
||||||
|
try:
|
||||||
actual_config_id=resolve_config_id(actual_config_id, db)
|
actual_config_id=resolve_config_id(actual_config_id, db)
|
||||||
|
|
||||||
if storage_type == "rag":
|
if storage_type == "rag":
|
||||||
# RAG 模式:组合消息为字符串格式(保持原有逻辑)
|
# RAG 模式:组合消息为字符串格式(保持原有逻辑)
|
||||||
combined_message = f"user: {user_message}\nassistant: {ai_message}"
|
combined_message = f"user: {user_message}\nassistant: {ai_message}"
|
||||||
@@ -242,7 +243,8 @@ class LangChainAgent:
|
|||||||
logger.info(f"[WRITE] Celery task submitted - task_id={write_id}")
|
logger.info(f"[WRITE] Celery task submitted - task_id={write_id}")
|
||||||
write_status = get_task_memory_write_result(str(write_id))
|
write_status = get_task_memory_write_result(str(write_id))
|
||||||
logger.info(f'[WRITE] Task result - user={actual_end_user_id}, status={write_status}')
|
logger.info(f'[WRITE] Task result - user={actual_end_user_id}, status={write_status}')
|
||||||
|
finally:
|
||||||
|
db.close()
|
||||||
async def chat(
|
async def chat(
|
||||||
self,
|
self,
|
||||||
message: str,
|
message: str,
|
||||||
|
|||||||
Reference in New Issue
Block a user