fix: 修复检索引用内容为字符串

This commit is contained in:
shaohuzhang1 2024-06-26 13:52:56 +08:00
parent bbf48cd4ef
commit ac659676f7
4 changed files with 15 additions and 8 deletions

View File

@ -160,7 +160,7 @@ class INode:
self.status = 500
self.err_message = str(e)
def write_error_context(answer):
def write_error_context(answer, status=200):
pass
return write_error_context

View File

@ -67,18 +67,18 @@ def write_context(node_variable: Dict, workflow_variable: Dict, node: INode, wor
def get_to_response_write_context(node_variable: Dict, node: INode):
def _write_context(answer, status=200):
chat_model = node_variable.get('chat_model')
message_tokens = chat_model.get_num_tokens_from_messages(node_variable.get('message_list'))
if status == 200:
answer_tokens = chat_model.get_num_tokens(answer)
message_tokens = chat_model.get_num_tokens_from_messages(node_variable.get('message_list'))
else:
answer_tokens = 0
message_tokens = 0
node.err_message = answer
node.status = status
node.context['message_tokens'] = message_tokens
node.context['answer_tokens'] = answer_tokens
node.context['answer'] = answer
node.context['history_message'] = node_variable['history_message']
node.context['question'] = node_variable['question']
return _write_context

View File

@ -64,10 +64,17 @@ def write_context(node_variable: Dict, workflow_variable: Dict, node: INode, wor
def get_to_response_write_context(node_variable: Dict, node: INode):
def _write_context(answer):
def _write_context(answer, status=200):
chat_model = node_variable.get('chat_model')
message_tokens = chat_model.get_num_tokens_from_messages(node_variable.get('message_list'))
answer_tokens = chat_model.get_num_tokens(answer)
if status == 200:
answer_tokens = chat_model.get_num_tokens(answer)
message_tokens = chat_model.get_num_tokens_from_messages(node_variable.get('message_list'))
else:
answer_tokens = 0
message_tokens = 0
node.err_message = answer
node.status = status
node.context['message_tokens'] = message_tokens
node.context['answer_tokens'] = answer_tokens
node.context['answer'] = answer

View File

@ -53,7 +53,7 @@ class ISearchDatasetStepNode(INode):
question = self.workflow_manage.get_reference_field(
self.node_params_serializer.data.get('question_reference_address')[0],
self.node_params_serializer.data.get('question_reference_address')[1:])
return self.execute(**self.node_params_serializer.data, question=question, exclude_paragraph_id_list=[])
return self.execute(**self.node_params_serializer.data, question=str(question), exclude_paragraph_id_list=[])
def execute(self, dataset_id_list, dataset_setting, question,
exclude_paragraph_id_list=None,