Обновлено логирование, добавили прозрачность запросов и ответов агента
This commit is contained in:
parent
d9207f3e06
commit
f87051e35b
2 changed files with 11 additions and 7 deletions
|
|
@ -110,7 +110,7 @@ class AgentService:
|
|||
|
||||
new_message = text
|
||||
if attachments:
|
||||
logger.debug(f"Processing {len(attachments)} attachments for chat {chat_id}")
|
||||
logger.debug(f"Processing {attachments} attachments for chat {chat_id}")
|
||||
attachments_description = await self.__describe_attachments(attachments)
|
||||
new_message += "\n" + attachments_description
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ class AgentService:
|
|||
|
||||
# обычный текст
|
||||
if chunk.content:
|
||||
logger.trace(f"Yielding text chunk for chat {chat_id}")
|
||||
logger.trace(f"Yielding text chunk {chunk.content} for chat {chat_id}")
|
||||
yield MsgEventTextChunk(text=chunk.content)
|
||||
|
||||
# если вернулся tool_call
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ async def websocket_endpoint(
|
|||
# Генерируем ID для каждого сообщения
|
||||
message_id = generate_message_id()
|
||||
set_message_id(message_id)
|
||||
|
||||
logger.trace(f"Received raw message: {len(raw)} characters for chat_id: {chat_id}")
|
||||
# тут должен быть trace или дебаг в будущем, но пока что info для прозрачности
|
||||
logger.info(f"Received raw message: {raw} for chat_id: {chat_id}")
|
||||
try:
|
||||
msg = ClientMessage.validate_json(raw)
|
||||
except ValidationError as e:
|
||||
|
|
@ -74,9 +74,13 @@ async def websocket_endpoint(
|
|||
async def process_message(ws: WebSocket, chat: AgentChat, msg):
|
||||
match msg:
|
||||
case MsgUserMessage():
|
||||
logger.debug(f"Processing user message for chat {chat.chat_id} (text length: {len(msg.text)}, attachments: {len(msg.attachments) if msg.attachments else 0})")
|
||||
logger.debug(f"Processing user message for chat {chat.chat_id} (text length: {len(msg.text)}, attachments: {msg.attachments if msg.attachments else None})")
|
||||
chunks = []
|
||||
async for chunk in chat.astream(msg.text, msg.attachments):
|
||||
logger.trace(f"Sending stream chunk to chat {chat.chat_id}: {chunk.__class__.__name__}")
|
||||
logger.trace(f"Sending stream chunk to chat {chat.chat_id}: {chunk}")
|
||||
await ws.send_text(chunk.model_dump_json())
|
||||
logger.debug(f"Finished processing user message for chat {chat.chat_id}")
|
||||
chunks.append(chunk.text if hasattr(chunk, 'text') else '')
|
||||
chunks = ''.join(chunks)
|
||||
logger.debug(f"Finished processing user message for chat {chat.chat_id} with {MsgEventEnd(tokens_used=0)}")
|
||||
logger.info(f"Processed user message for chat {chat.chat_id}: \n {chunks}")
|
||||
await ws.send_text(MsgEventEnd(tokens_used=0).model_dump_json()) # TODO: подставить реальное потребление токенов
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue