fix: 修复对话中一定时间历史会话被清空 #1089
This commit is contained in:
parent
3faba75d4d
commit
38565aff11
@ -627,6 +627,7 @@ class ApplicationSerializer(serializers.Serializer):
|
|||||||
# 插入知识库关联关系
|
# 插入知识库关联关系
|
||||||
self.save_application_mapping(application_dataset_id_list, dataset_id_list, application.id)
|
self.save_application_mapping(application_dataset_id_list, dataset_id_list, application.id)
|
||||||
work_flow_version = WorkFlowVersion(work_flow=work_flow, application=application)
|
work_flow_version = WorkFlowVersion(work_flow=work_flow, application=application)
|
||||||
|
chat_cache.clear_by_application_id(str(application.id))
|
||||||
work_flow_version.save()
|
work_flow_version.save()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -737,7 +738,8 @@ class ApplicationSerializer(serializers.Serializer):
|
|||||||
raise AppApiException(500, f"未知的知识库id${dataset_id},无法关联")
|
raise AppApiException(500, f"未知的知识库id${dataset_id},无法关联")
|
||||||
|
|
||||||
self.save_application_mapping(application_dataset_id_list, dataset_id_list, application_id)
|
self.save_application_mapping(application_dataset_id_list, dataset_id_list, application_id)
|
||||||
chat_cache.clear_by_application_id(application_id)
|
if application.type == ApplicationTypeChoices.SIMPLE:
|
||||||
|
chat_cache.clear_by_application_id(application_id)
|
||||||
application_access_token = QuerySet(ApplicationAccessToken).filter(application_id=application_id).first()
|
application_access_token = QuerySet(ApplicationAccessToken).filter(application_id=application_id).first()
|
||||||
# 更新缓存数据
|
# 更新缓存数据
|
||||||
get_application_access_token(application_access_token.access_token, False)
|
get_application_access_token(application_access_token.access_token, False)
|
||||||
|
|||||||
@ -12,7 +12,6 @@ from uuid import UUID
|
|||||||
|
|
||||||
from django.core.cache import caches
|
from django.core.cache import caches
|
||||||
from django.db.models import QuerySet
|
from django.db.models import QuerySet
|
||||||
from langchain.chat_models.base import BaseChatModel
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from application.chat_pipeline.pipeline_manage import PipelineManage
|
from application.chat_pipeline.pipeline_manage import PipelineManage
|
||||||
@ -278,7 +277,12 @@ class ChatMessageSerializer(serializers.Serializer):
|
|||||||
QuerySet(Document).filter(
|
QuerySet(Document).filter(
|
||||||
dataset_id__in=dataset_id_list,
|
dataset_id__in=dataset_id_list,
|
||||||
is_active=False)]
|
is_active=False)]
|
||||||
return ChatInfo(chat_id, dataset_id_list, exclude_document_id_list, application)
|
chat_info = ChatInfo(chat_id, dataset_id_list, exclude_document_id_list, application)
|
||||||
|
chat_record_list = list(QuerySet(ChatRecord).filter(chat_id=chat_id).order_by('-create_time')[0:5])
|
||||||
|
chat_record_list.sort(key=lambda r: r.create_time)
|
||||||
|
for chat_record in chat_record_list:
|
||||||
|
chat_info.chat_record_list.append(chat_record)
|
||||||
|
return chat_info
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def re_open_chat_work_flow(chat_id, application):
|
def re_open_chat_work_flow(chat_id, application):
|
||||||
@ -286,4 +290,10 @@ class ChatMessageSerializer(serializers.Serializer):
|
|||||||
'-create_time')[0:1].first()
|
'-create_time')[0:1].first()
|
||||||
if work_flow_version is None:
|
if work_flow_version is None:
|
||||||
raise AppApiException(500, "应用未发布,请发布后再使用")
|
raise AppApiException(500, "应用未发布,请发布后再使用")
|
||||||
return ChatInfo(chat_id, [], [], application, work_flow_version)
|
|
||||||
|
chat_info = ChatInfo(chat_id, [], [], application, work_flow_version)
|
||||||
|
chat_record_list = list(QuerySet(ChatRecord).filter(chat_id=chat_id).order_by('-create_time')[0:5])
|
||||||
|
chat_record_list.sort(key=lambda r: r.create_time)
|
||||||
|
for chat_record in chat_record_list:
|
||||||
|
chat_info.chat_record_list.append(chat_record)
|
||||||
|
return chat_info
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user