mirror of
https://github.com/ParisNeo/lollms.git
synced 2025-04-13 22:02:56 +00:00
done
This commit is contained in:
parent
f7759f0f76
commit
ad12efdf07
@ -744,9 +744,9 @@ class LollmsApplication(LoLLMsCom):
|
||||
"sender": sender,
|
||||
"message_type": message_type.value,
|
||||
"sender_type": sender_type.value,
|
||||
"content": content,
|
||||
"content": content if message_type!= MSG_OPERATION_TYPE.MSG_OPERATION_TYPE_UI else "",
|
||||
"metadata": None,
|
||||
"ui": None,
|
||||
"ui": content if message_type== MSG_OPERATION_TYPE.MSG_OPERATION_TYPE_UI else None,
|
||||
"discussion_id":client.discussion.discussion_id,
|
||||
"id": msg.id,
|
||||
"parent_message_id": msg.parent_message_id,
|
||||
@ -1057,7 +1057,7 @@ class LollmsApplication(LoLLMsCom):
|
||||
|
||||
client.discussion.update_message_ui(ui)
|
||||
|
||||
async def close_message(self, client_id):
|
||||
async def close_message(self, client_id, fix_content= False):
|
||||
client = self.session.get_client(client_id)
|
||||
for msg in client.discussion.messages:
|
||||
if msg.steps is not None:
|
||||
@ -1065,38 +1065,58 @@ class LollmsApplication(LoLLMsCom):
|
||||
step["done"] = True
|
||||
if not client.discussion:
|
||||
return
|
||||
# fix halucination
|
||||
if len(client.generated_text) > 0 and len(self.start_header_id_template) > 0:
|
||||
client.generated_text = client.generated_text.split(
|
||||
f"{self.start_header_id_template}"
|
||||
)[0]
|
||||
# Send final message
|
||||
client.discussion.current_message.finished_generating_at = (
|
||||
datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
)
|
||||
try:
|
||||
client.discussion.current_message.nb_tokens = len(
|
||||
self.model.tokenize(client.generated_text)
|
||||
|
||||
if fix_content:
|
||||
|
||||
# fix halucination
|
||||
if len(client.generated_text) > 0 and len(self.start_header_id_template) > 0:
|
||||
client.generated_text = client.generated_text.split(
|
||||
f"{self.start_header_id_template}"
|
||||
)[0]
|
||||
# Send final message
|
||||
client.discussion.current_message.finished_generating_at = (
|
||||
datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
)
|
||||
try:
|
||||
client.discussion.current_message.nb_tokens = len(
|
||||
self.model.tokenize(client.generated_text)
|
||||
)
|
||||
except:
|
||||
client.discussion.current_message.nb_tokens = None
|
||||
await self.sio.emit(
|
||||
"close_message",
|
||||
{
|
||||
"sender": self.personality.name,
|
||||
"id": client.discussion.current_message.id,
|
||||
"discussion_id": client.discussion.discussion_id,
|
||||
"content": client.generated_text,
|
||||
"binding": self.binding.binding_folder_name,
|
||||
"model": self.model.model_name,
|
||||
"personality": self.personality.name,
|
||||
"created_at": client.discussion.current_message.created_at,
|
||||
"started_generating_at": client.discussion.current_message.started_generating_at,
|
||||
"finished_generating_at": client.discussion.current_message.finished_generating_at,
|
||||
"nb_tokens": client.discussion.current_message.nb_tokens,
|
||||
},
|
||||
to=client_id,
|
||||
)
|
||||
else:
|
||||
await self.sio.emit(
|
||||
"close_message",
|
||||
{
|
||||
"sender": self.personality.name,
|
||||
"id": client.discussion.current_message.id,
|
||||
"discussion_id": client.discussion.discussion_id,
|
||||
"binding": self.binding.binding_folder_name,
|
||||
"model": self.model.model_name,
|
||||
"personality": self.personality.name,
|
||||
"created_at": client.discussion.current_message.created_at,
|
||||
"started_generating_at": client.discussion.current_message.started_generating_at,
|
||||
"finished_generating_at": client.discussion.current_message.finished_generating_at,
|
||||
"nb_tokens": client.discussion.current_message.nb_tokens,
|
||||
},
|
||||
to=client_id,
|
||||
)
|
||||
except:
|
||||
client.discussion.current_message.nb_tokens = None
|
||||
await self.sio.emit(
|
||||
"close_message",
|
||||
{
|
||||
"sender": self.personality.name,
|
||||
"id": client.discussion.current_message.id,
|
||||
"discussion_id": client.discussion.discussion_id,
|
||||
"content": client.generated_text,
|
||||
"binding": self.binding.binding_folder_name,
|
||||
"model": self.model.model_name,
|
||||
"personality": self.personality.name,
|
||||
"created_at": client.discussion.current_message.created_at,
|
||||
"started_generating_at": client.discussion.current_message.started_generating_at,
|
||||
"finished_generating_at": client.discussion.current_message.finished_generating_at,
|
||||
"nb_tokens": client.discussion.current_message.nb_tokens,
|
||||
},
|
||||
to=client_id,
|
||||
)
|
||||
|
||||
def prepare_reception(self, client_id):
|
||||
if not self.session.get_client(client_id).continuing:
|
||||
@ -1708,6 +1728,7 @@ Don't forget encapsulate the code inside a markdown code tag. This is mandatory.
|
||||
self.cancel_gen = False
|
||||
|
||||
ASCIIColors.yellow("Closing message")
|
||||
await self.close_message(client_id, True)
|
||||
client.processing = False
|
||||
try:
|
||||
if len(context_details.function_calls)>0:
|
||||
@ -1728,9 +1749,6 @@ Don't forget encapsulate the code inside a markdown code tag. This is mandatory.
|
||||
|
||||
except Exception as ex:
|
||||
trace_exception(ex)
|
||||
# Clients are now kept forever
|
||||
# if client.schedule_for_deletion:
|
||||
# self.session.remove_client(client.client_id, client.client_id)
|
||||
|
||||
ASCIIColors.multicolor(
|
||||
texts=[
|
||||
@ -1762,6 +1780,7 @@ Don't forget encapsulate the code inside a markdown code tag. This is mandatory.
|
||||
to=client_id,
|
||||
)
|
||||
await self.close_message(client_id)
|
||||
|
||||
else:
|
||||
self.cancel_gen = False
|
||||
# No discussion available
|
||||
|
Loading…
x
Reference in New Issue
Block a user