Skip to content

Commit d567ebb

Browse files
committed
fix: add long-term memory retrieval based on chat user ID
1 parent 6fcf987 commit d567ebb

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

apps/application/flow/step_node/start_node/impl/base_start_node.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@
99
import time
1010
from datetime import datetime
1111
from typing import List, Type
12+
13+
from django.db.models import QuerySet
1214
from django.utils import timezone
1315
from rest_framework import serializers
1416

1517
from application.flow.i_step_node import NodeResult
1618
from application.flow.step_node.start_node.i_start_node import IStarNode
19+
from application.models import ApplicationLongTermMemory
1720

1821

1922
def get_default_global_variable(input_field_list: List):
@@ -69,6 +72,12 @@ def execute(self, question, **kwargs) -> NodeResult:
6972
default_global_variable = get_default_global_variable(base_node.properties.get('user_input_field_list', []))
7073
default_api_global_variable = get_default_global_variable(base_node.properties.get('api_input_field_list', []))
7174
workflow_variable = {**default_global_variable, **default_api_global_variable, **get_global_variable(self)}
75+
chat_user_id = workflow_variable.get('chat_user_id')
76+
long_term_memory = None
77+
if chat_user_id:
78+
long_term_memory = QuerySet(ApplicationLongTermMemory).filter(
79+
chat_user_id=chat_user_id, application_id=self.workflow_params.get('application_id')
80+
).first()
7281
"""
7382
开始节点 初始化全局变量
7483
"""
@@ -79,8 +88,8 @@ def execute(self, question, **kwargs) -> NodeResult:
7988
'audio': self.workflow_manage.audio_list,
8089
'video': self.workflow_manage.video_list,
8190
'other': self.workflow_manage.other_list,
82-
8391
}
92+
workflow_variable['memory'] = long_term_memory.memory if long_term_memory else ''
8493
self.workflow_manage.chat_context = self.workflow_manage.get_chat_info().get_chat_variable()
8594
return NodeResult(node_variable, workflow_variable)
8695

0 commit comments

Comments
 (0)