feat: optimize the efficiency of generating chatbot conversation name (#3472)

This commit is contained in:
takatost
2024-04-14 23:50:24 +08:00
committed by GitHub
parent 8f8e9de601
commit 12f1ce4794
5 changed files with 80 additions and 34 deletions

View File

@@ -5,7 +5,6 @@ from .create_installed_app_when_app_created import handle
from .create_site_record_when_app_created import handle
from .deduct_quota_when_messaeg_created import handle
from .delete_installed_app_when_app_deleted import handle
from .generate_conversation_name_when_first_message_created import handle
from .update_app_dataset_join_when_app_model_config_updated import handle
from .update_provider_last_used_at_when_messaeg_created import handle
from .update_app_dataset_join_when_app_published_workflow_updated import handle

View File

@@ -1,32 +0,0 @@
from core.llm_generator.llm_generator import LLMGenerator
from events.message_event import message_was_created
from extensions.ext_database import db
from models.model import AppMode
@message_was_created.connect
def handle(sender, **kwargs):
message = sender
conversation = kwargs.get('conversation')
is_first_message = kwargs.get('is_first_message')
extras = kwargs.get('extras', {})
auto_generate_conversation_name = True
if extras:
auto_generate_conversation_name = extras.get('auto_generate_conversation_name', True)
if auto_generate_conversation_name and is_first_message:
if conversation.mode != AppMode.COMPLETION.value:
app_model = conversation.app
if not app_model:
return
# generate conversation name
try:
name = LLMGenerator.generate_conversation_name(app_model.tenant_id, message.query)
conversation.name = name
except:
pass
db.session.merge(conversation)
db.session.commit()