Add limitation for content length to generate title
This commit is contained in:
parent
45d892127d
commit
5aaf3ddee1
|
|
@ -32,8 +32,12 @@ class GraphHistoryManager:
|
||||||
self.socketio = None
|
self.socketio = None
|
||||||
|
|
||||||
def set_socketio(self, socketio):
|
def set_socketio(self, socketio):
|
||||||
socketio = socketio
|
"""
|
||||||
self.title_generator.socketio = socketio
|
Устанавливает объект SocketIO для отправки уведомлений генератору заголовков.
|
||||||
|
@param socketio: Объект SocketIO.
|
||||||
|
"""
|
||||||
|
self.socketio = socketio
|
||||||
|
self.title_generator.set_socketio(socketio)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ from nodes import DEFAULT_SUMMARIZATION_LLM_NAME
|
||||||
from llm_client import get_llm
|
from llm_client import get_llm
|
||||||
from langchain_core.messages import SystemMessage, HumanMessage
|
from langchain_core.messages import SystemMessage, HumanMessage
|
||||||
|
|
||||||
|
MAX_TITLE_GENERATION_CONTENT_LENGTH = 5000 # Максимальное количество символов для генерации заголовков
|
||||||
|
|
||||||
class TitleGenerator:
|
class TitleGenerator:
|
||||||
"""Сервис для асинхронной генерации заголовков."""
|
"""Сервис для асинхронной генерации заголовков."""
|
||||||
|
|
||||||
|
|
@ -33,6 +35,12 @@ class TitleGenerator:
|
||||||
Заголовок должен кратко описывать суть сообщения или действия. Заголовок должен быть простым текстом, без какого-либо форматирования или использования
|
Заголовок должен кратко описывать суть сообщения или действия. Заголовок должен быть простым текстом, без какого-либо форматирования или использования
|
||||||
специальных символов разметки (например, #, *, _, `). Отвечай только заголовком, без дополнительных объяснений. Ты должен сделать саммери, а не ответить на вопросы, если они есть в сообщении."""
|
специальных символов разметки (например, #, *, _, `). Отвечай только заголовком, без дополнительных объяснений. Ты должен сделать саммери, а не ответить на вопросы, если они есть в сообщении."""
|
||||||
|
|
||||||
|
def set_socketio(self, socketio):
|
||||||
|
"""
|
||||||
|
Устанавливает объект SocketIO для отправки уведомлений.
|
||||||
|
@param socketio: Объект SocketIO.
|
||||||
|
"""
|
||||||
|
self.socketio = socketio
|
||||||
|
|
||||||
def _get_connection(self):
|
def _get_connection(self):
|
||||||
"""
|
"""
|
||||||
|
|
@ -168,7 +176,8 @@ class TitleGenerator:
|
||||||
first_user_message = None
|
first_user_message = None
|
||||||
for msg in messages:
|
for msg in messages:
|
||||||
if msg.get("role") == "user":
|
if msg.get("role") == "user":
|
||||||
first_user_message = msg.get("content", "")
|
# Ограничиваем сообщение первыми ... символами для генерации заголовка
|
||||||
|
first_user_message = msg.get("content", "")[:MAX_TITLE_GENERATION_CONTENT_LENGTH]
|
||||||
break
|
break
|
||||||
|
|
||||||
if not first_user_message:
|
if not first_user_message:
|
||||||
|
|
@ -218,7 +227,8 @@ class TitleGenerator:
|
||||||
# Получаем содержимое узла
|
# Получаем содержимое узла
|
||||||
node_data = target_node.get("data", {})
|
node_data = target_node.get("data", {})
|
||||||
message = node_data.get("message", {})
|
message = node_data.get("message", {})
|
||||||
content = message.get("content", "")
|
# Ограничиваем сообщение первыми ... символами для генерации заголовка
|
||||||
|
content = message.get("content", "")[:MAX_TITLE_GENERATION_CONTENT_LENGTH]
|
||||||
|
|
||||||
if not content:
|
if not content:
|
||||||
# Если нет content, используем label или type
|
# Если нет content, используем label или type
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user