parent
a3dd967c61
commit
03b662beec
@ -37,6 +37,17 @@ def add_access_num(client_id=None, client_type=None):
|
|||||||
application_public_access_client.save()
|
application_public_access_client.save()
|
||||||
|
|
||||||
|
|
||||||
|
def write_context(step, manage, request_token, response_token, all_text):
|
||||||
|
step.context['message_tokens'] = request_token
|
||||||
|
step.context['answer_tokens'] = response_token
|
||||||
|
current_time = time.time()
|
||||||
|
step.context['answer_text'] = all_text
|
||||||
|
step.context['run_time'] = current_time - step.context['start_time']
|
||||||
|
manage.context['run_time'] = current_time - manage.context['start_time']
|
||||||
|
manage.context['message_tokens'] = manage.context['message_tokens'] + request_token
|
||||||
|
manage.context['answer_tokens'] = manage.context['answer_tokens'] + response_token
|
||||||
|
|
||||||
|
|
||||||
def event_content(response,
|
def event_content(response,
|
||||||
chat_id,
|
chat_id,
|
||||||
chat_record_id,
|
chat_record_id,
|
||||||
@ -68,14 +79,7 @@ def event_content(response,
|
|||||||
else:
|
else:
|
||||||
request_token = 0
|
request_token = 0
|
||||||
response_token = 0
|
response_token = 0
|
||||||
step.context['message_tokens'] = request_token
|
write_context(step, manage, request_token, response_token, all_text)
|
||||||
step.context['answer_tokens'] = response_token
|
|
||||||
current_time = time.time()
|
|
||||||
step.context['answer_text'] = all_text
|
|
||||||
step.context['run_time'] = current_time - step.context['start_time']
|
|
||||||
manage.context['run_time'] = current_time - manage.context['start_time']
|
|
||||||
manage.context['message_tokens'] = manage.context['message_tokens'] + request_token
|
|
||||||
manage.context['answer_tokens'] = manage.context['answer_tokens'] + response_token
|
|
||||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
all_text, manage, step, padding_problem_text, client_id)
|
all_text, manage, step, padding_problem_text, client_id)
|
||||||
yield 'data: ' + json.dumps({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
yield 'data: ' + json.dumps({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
||||||
@ -83,8 +87,13 @@ def event_content(response,
|
|||||||
add_access_num(client_id, client_type)
|
add_access_num(client_id, client_type)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.getLogger("max_kb_error").error(f'{str(e)}:{traceback.format_exc()}')
|
logging.getLogger("max_kb_error").error(f'{str(e)}:{traceback.format_exc()}')
|
||||||
|
all_text = '异常' + str(e)
|
||||||
|
write_context(step, manage, 0, 0, all_text)
|
||||||
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
|
all_text, manage, step, padding_problem_text, client_id)
|
||||||
|
add_access_num(client_id, client_type)
|
||||||
yield 'data: ' + json.dumps({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
yield 'data: ' + json.dumps({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
||||||
'content': '异常' + str(e), 'is_end': True}) + "\n\n"
|
'content': all_text, 'is_end': True}) + "\n\n"
|
||||||
|
|
||||||
|
|
||||||
class BaseChatStep(IChatStep):
|
class BaseChatStep(IChatStep):
|
||||||
@ -202,25 +211,28 @@ class BaseChatStep(IChatStep):
|
|||||||
manage: PipelineManage = None,
|
manage: PipelineManage = None,
|
||||||
padding_problem_text: str = None,
|
padding_problem_text: str = None,
|
||||||
client_id=None, client_type=None, no_references_setting=None):
|
client_id=None, client_type=None, no_references_setting=None):
|
||||||
# 调用模型
|
|
||||||
chat_result, is_ai_chat = self.get_block_result(message_list, chat_model, paragraph_list, no_references_setting)
|
|
||||||
chat_record_id = uuid.uuid1()
|
chat_record_id = uuid.uuid1()
|
||||||
|
# 调用模型
|
||||||
|
try:
|
||||||
|
chat_result, is_ai_chat = self.get_block_result(message_list, chat_model, paragraph_list,
|
||||||
|
no_references_setting)
|
||||||
if is_ai_chat:
|
if is_ai_chat:
|
||||||
request_token = chat_model.get_num_tokens_from_messages(message_list)
|
request_token = chat_model.get_num_tokens_from_messages(message_list)
|
||||||
response_token = chat_model.get_num_tokens(chat_result.content)
|
response_token = chat_model.get_num_tokens(chat_result.content)
|
||||||
else:
|
else:
|
||||||
request_token = 0
|
request_token = 0
|
||||||
response_token = 0
|
response_token = 0
|
||||||
self.context['message_tokens'] = request_token
|
write_context(self, manage, request_token, response_token, chat_result.content)
|
||||||
self.context['answer_tokens'] = response_token
|
|
||||||
current_time = time.time()
|
|
||||||
self.context['answer_text'] = chat_result.content
|
|
||||||
self.context['run_time'] = current_time - self.context['start_time']
|
|
||||||
manage.context['run_time'] = current_time - manage.context['start_time']
|
|
||||||
manage.context['message_tokens'] = manage.context['message_tokens'] + request_token
|
|
||||||
manage.context['answer_tokens'] = manage.context['answer_tokens'] + response_token
|
|
||||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
chat_result.content, manage, self, padding_problem_text, client_id)
|
chat_result.content, manage, self, padding_problem_text, client_id)
|
||||||
add_access_num(client_id, client_type)
|
add_access_num(client_id, client_type)
|
||||||
return result.success({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
return result.success({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
||||||
'content': chat_result.content, 'is_end': True})
|
'content': chat_result.content, 'is_end': True})
|
||||||
|
except Exception as e:
|
||||||
|
all_text = '异常' + str(e)
|
||||||
|
write_context(self, manage, 0, 0, all_text)
|
||||||
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
|
all_text, manage, self, padding_problem_text, client_id)
|
||||||
|
add_access_num(client_id, client_type)
|
||||||
|
return result.success({'chat_id': str(chat_id), 'id': str(chat_record_id), 'operate': True,
|
||||||
|
'content': all_text, 'is_end': True})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user