memory_BUG_long_term
This commit is contained in:
@@ -7,7 +7,7 @@ from contextlib import asynccontextmanager
|
|||||||
from langgraph.constants import END, START
|
from langgraph.constants import END, START
|
||||||
from langgraph.graph import StateGraph
|
from langgraph.graph import StateGraph
|
||||||
|
|
||||||
from app.db import get_db
|
from app.db import get_db, get_db_context
|
||||||
from app.core.logging_config import get_agent_logger
|
from app.core.logging_config import get_agent_logger
|
||||||
from app.core.memory.agent.utils.llm_tools import WriteState
|
from app.core.memory.agent.utils.llm_tools import WriteState
|
||||||
from app.core.memory.agent.langgraph_graph.nodes.write_nodes import write_node
|
from app.core.memory.agent.langgraph_graph.nodes.write_nodes import write_node
|
||||||
@@ -46,21 +46,27 @@ async def long_term_storage(long_term_type:str="chunk",langchain_messages:list=[
|
|||||||
from app.core.memory.agent.utils.redis_tool import write_store
|
from app.core.memory.agent.utils.redis_tool import write_store
|
||||||
write_store.save_session_write(end_user_id, (langchain_messages))
|
write_store.save_session_write(end_user_id, (langchain_messages))
|
||||||
# 获取数据库会话
|
# 获取数据库会话
|
||||||
db_session = next(get_db())
|
with get_db_context() as db_session:
|
||||||
config_service = MemoryConfigService(db_session)
|
try:
|
||||||
memory_config = config_service.load_memory_config(
|
config_service = MemoryConfigService(db_session)
|
||||||
config_id=memory_config, # 改为整数
|
memory_config = config_service.load_memory_config(
|
||||||
service_name="MemoryAgentService"
|
config_id=memory_config, # 改为整数
|
||||||
)
|
service_name="MemoryAgentService"
|
||||||
if long_term_type=='chunk':
|
)
|
||||||
'''方案一:对话窗口6轮对话'''
|
if long_term_type=='chunk':
|
||||||
await window_dialogue(end_user_id,langchain_messages,memory_config,scope)
|
'''方案一:对话窗口6轮对话'''
|
||||||
if long_term_type=='time':
|
await window_dialogue(end_user_id,langchain_messages,memory_config,scope)
|
||||||
"""时间"""
|
if long_term_type=='time':
|
||||||
await memory_long_term_storage(end_user_id, memory_config,5)
|
"""时间"""
|
||||||
if long_term_type=='aggregate':
|
await memory_long_term_storage(end_user_id, memory_config,5)
|
||||||
"""方案三:聚合判断"""
|
if long_term_type=='aggregate':
|
||||||
await aggregate_judgment(end_user_id, langchain_messages, memory_config)
|
"""方案三:聚合判断"""
|
||||||
|
await aggregate_judgment(end_user_id, langchain_messages, memory_config)
|
||||||
|
finally:
|
||||||
|
if db_session.in_transaction():
|
||||||
|
db_session.rollback()
|
||||||
|
db_session.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def write_long_term(storage_type,end_user_id,message_chat,aimessages,user_rag_memory_id,actual_config_id):
|
async def write_long_term(storage_type,end_user_id,message_chat,aimessages,user_rag_memory_id,actual_config_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user