mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
refac: use first user message as title instead of 'new chat'
This commit is contained in:
parent
8258dfb5af
commit
ea578af45f
@ -1078,6 +1078,7 @@ async def process_chat_response(
|
|||||||
follow_ups = json.loads(follow_ups_string).get(
|
follow_ups = json.loads(follow_ups_string).get(
|
||||||
"follow_ups", []
|
"follow_ups", []
|
||||||
)
|
)
|
||||||
|
|
||||||
Chats.upsert_message_to_chat_by_id_and_message_id(
|
Chats.upsert_message_to_chat_by_id_and_message_id(
|
||||||
metadata["chat_id"],
|
metadata["chat_id"],
|
||||||
metadata["message_id"],
|
metadata["message_id"],
|
||||||
@ -1098,7 +1099,12 @@ async def process_chat_response(
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
if TASKS.TITLE_GENERATION in tasks:
|
if TASKS.TITLE_GENERATION in tasks:
|
||||||
|
user_message = get_last_user_message(messages)
|
||||||
|
if user_message and len(user_message) > 100:
|
||||||
|
user_message = user_message[:100] + "..."
|
||||||
|
|
||||||
if tasks[TASKS.TITLE_GENERATION]:
|
if tasks[TASKS.TITLE_GENERATION]:
|
||||||
|
|
||||||
res = await generate_title(
|
res = await generate_title(
|
||||||
request,
|
request,
|
||||||
{
|
{
|
||||||
@ -1114,7 +1120,9 @@ async def process_chat_response(
|
|||||||
title_string = (
|
title_string = (
|
||||||
res.get("choices", [])[0]
|
res.get("choices", [])[0]
|
||||||
.get("message", {})
|
.get("message", {})
|
||||||
.get("content", message.get("content", "New Chat"))
|
.get(
|
||||||
|
"content", message.get("content", user_message)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
title_string = ""
|
title_string = ""
|
||||||
@ -1125,13 +1133,13 @@ async def process_chat_response(
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
title = json.loads(title_string).get(
|
title = json.loads(title_string).get(
|
||||||
"title", "New Chat"
|
"title", user_message
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
title = ""
|
title = ""
|
||||||
|
|
||||||
if not title:
|
if not title:
|
||||||
title = messages[0].get("content", "New Chat")
|
title = messages[0].get("content", user_message)
|
||||||
|
|
||||||
Chats.update_chat_title_by_id(metadata["chat_id"], title)
|
Chats.update_chat_title_by_id(metadata["chat_id"], title)
|
||||||
|
|
||||||
@ -1142,14 +1150,14 @@ async def process_chat_response(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
elif len(messages) == 2:
|
elif len(messages) == 2:
|
||||||
title = messages[0].get("content", "New Chat")
|
title = messages[0].get("content", user_message)
|
||||||
|
|
||||||
Chats.update_chat_title_by_id(metadata["chat_id"], title)
|
Chats.update_chat_title_by_id(metadata["chat_id"], title)
|
||||||
|
|
||||||
await event_emitter(
|
await event_emitter(
|
||||||
{
|
{
|
||||||
"type": "chat:title",
|
"type": "chat:title",
|
||||||
"data": message.get("content", "New Chat"),
|
"data": message.get("content", user_message),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user