refactor: 执行详情里展示文档提取日志时多个文件单独显示,最多500字符
This commit is contained in:
parent
2a07a50a60
commit
80aeecfe01
@ -7,7 +7,6 @@ from django.db.models import QuerySet
|
|||||||
|
|
||||||
from application.flow.i_step_node import NodeResult
|
from application.flow.i_step_node import NodeResult
|
||||||
from application.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
|
from application.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
|
||||||
from application.models import Chat
|
|
||||||
from dataset.models import File
|
from dataset.models import File
|
||||||
from dataset.serializers.document_serializers import split_handles, parse_table_handle_list, FileBufferHandle
|
from dataset.serializers.document_serializers import split_handles, parse_table_handle_list, FileBufferHandle
|
||||||
from dataset.serializers.file_serializers import FileSerializer
|
from dataset.serializers.file_serializers import FileSerializer
|
||||||
@ -36,15 +35,16 @@ def bytes_to_uploaded_file(file_bytes, file_name="file.txt"):
|
|||||||
return uploaded_file
|
return uploaded_file
|
||||||
|
|
||||||
|
|
||||||
|
splitter = '\n`-----------------------------------`\n'
|
||||||
|
|
||||||
class BaseDocumentExtractNode(IDocumentExtractNode):
|
class BaseDocumentExtractNode(IDocumentExtractNode):
|
||||||
def execute(self, document, chat_id, **kwargs):
|
def execute(self, document, chat_id, **kwargs):
|
||||||
get_buffer = FileBufferHandle().get_buffer
|
get_buffer = FileBufferHandle().get_buffer
|
||||||
|
|
||||||
self.context['document_list'] = document
|
self.context['document_list'] = document
|
||||||
content = []
|
content = []
|
||||||
splitter = '\n`-----------------------------------`\n'
|
|
||||||
if document is None or not isinstance(document, list):
|
if document is None or not isinstance(document, list):
|
||||||
return NodeResult({'content': content}, {})
|
return NodeResult({'content': ''}, {})
|
||||||
|
|
||||||
application = self.workflow_manage.work_flow_post_handler.chat_info.application
|
application = self.workflow_manage.work_flow_post_handler.chat_info.application
|
||||||
|
|
||||||
@ -76,14 +76,14 @@ class BaseDocumentExtractNode(IDocumentExtractNode):
|
|||||||
return NodeResult({'content': splitter.join(content)}, {})
|
return NodeResult({'content': splitter.join(content)}, {})
|
||||||
|
|
||||||
def get_details(self, index: int, **kwargs):
|
def get_details(self, index: int, **kwargs):
|
||||||
|
content = self.context.get('content', '').split(splitter)
|
||||||
# 不保存content全部内容,因为content内容可能会很大
|
# 不保存content全部内容,因为content内容可能会很大
|
||||||
content = (self.context.get('content')[:500] + '...') if len(self.context.get('content')) > 0 else ''
|
|
||||||
return {
|
return {
|
||||||
'name': self.node.properties.get('stepName'),
|
'name': self.node.properties.get('stepName'),
|
||||||
"index": index,
|
"index": index,
|
||||||
'run_time': self.context.get('run_time'),
|
'run_time': self.context.get('run_time'),
|
||||||
'type': self.node.type,
|
'type': self.node.type,
|
||||||
'content': content,
|
'content': [file_content[:500] for file_content in content],
|
||||||
'status': self.status,
|
'status': self.status,
|
||||||
'err_message': self.err_message,
|
'err_message': self.err_message,
|
||||||
'document_list': self.context.get('document_list')
|
'document_list': self.context.get('document_list')
|
||||||
|
|||||||
@ -231,12 +231,13 @@
|
|||||||
</h5>
|
</h5>
|
||||||
<div class="p-8-12 border-t-dashed lighter">
|
<div class="p-8-12 border-t-dashed lighter">
|
||||||
<el-scrollbar height="150">
|
<el-scrollbar height="150">
|
||||||
<el-card shadow="never" style="--el-card-padding: 8px">
|
<el-card shadow="never" style="--el-card-padding: 8px" v-for="(file_content, index) in item.content"
|
||||||
|
:key="index" class="mb-8">
|
||||||
<MdPreview
|
<MdPreview
|
||||||
v-if="item.content"
|
v-if="file_content"
|
||||||
ref="editorRef"
|
ref="editorRef"
|
||||||
editorId="preview-only"
|
editorId="preview-only"
|
||||||
:modelValue="item.content"
|
:modelValue="file_content"
|
||||||
style="background: none"
|
style="background: none"
|
||||||
/>
|
/>
|
||||||
<template v-else> - </template>
|
<template v-else> - </template>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user