fix:把base64显示在了prompt中
This commit is contained in:
@@ -106,7 +106,7 @@ class DefaultExpressor:
|
|||||||
|
|
||||||
if reply:
|
if reply:
|
||||||
with Timer("发送消息", cycle_timers):
|
with Timer("发送消息", cycle_timers):
|
||||||
await self._send_response_messages(
|
sent_msg_list = await self._send_response_messages(
|
||||||
anchor_message=anchor_message,
|
anchor_message=anchor_message,
|
||||||
thinking_id=thinking_id,
|
thinking_id=thinking_id,
|
||||||
response_set=reply,
|
response_set=reply,
|
||||||
@@ -118,7 +118,7 @@ class DefaultExpressor:
|
|||||||
if not has_sent_something:
|
if not has_sent_something:
|
||||||
logger.warning(f"{self.log_prefix} 回复动作未包含任何有效内容")
|
logger.warning(f"{self.log_prefix} 回复动作未包含任何有效内容")
|
||||||
|
|
||||||
return has_sent_something, reply
|
return has_sent_something, sent_msg_list
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"回复失败: {e}")
|
logger.error(f"回复失败: {e}")
|
||||||
@@ -250,6 +250,8 @@ class DefaultExpressor:
|
|||||||
mark_head = False
|
mark_head = False
|
||||||
first_bot_msg: Optional[MessageSending] = None
|
first_bot_msg: Optional[MessageSending] = None
|
||||||
reply_message_ids = [] # 记录实际发送的消息ID
|
reply_message_ids = [] # 记录实际发送的消息ID
|
||||||
|
|
||||||
|
sent_msg_list = []
|
||||||
|
|
||||||
for i, msg_text in enumerate(response_set):
|
for i, msg_text in enumerate(response_set):
|
||||||
# 为每个消息片段生成唯一ID
|
# 为每个消息片段生成唯一ID
|
||||||
@@ -285,9 +287,11 @@ class DefaultExpressor:
|
|||||||
if type == "emoji":
|
if type == "emoji":
|
||||||
typing = False
|
typing = False
|
||||||
|
|
||||||
await self.heart_fc_sender.send_message(bot_message, has_thinking=True, typing=typing)
|
sent_msg = await self.heart_fc_sender.send_message(bot_message, has_thinking=True, typing=typing)
|
||||||
|
|
||||||
reply_message_ids.append(part_message_id) # 记录我们生成的ID
|
reply_message_ids.append(part_message_id) # 记录我们生成的ID
|
||||||
|
|
||||||
|
sent_msg_list.append((type, sent_msg))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"{self.log_prefix}发送回复片段 {i} ({part_message_id}) 时失败: {e}")
|
logger.error(f"{self.log_prefix}发送回复片段 {i} ({part_message_id}) 时失败: {e}")
|
||||||
@@ -296,10 +300,11 @@ class DefaultExpressor:
|
|||||||
# 在尝试发送完所有片段后,完成原始的 thinking_id 状态
|
# 在尝试发送完所有片段后,完成原始的 thinking_id 状态
|
||||||
try:
|
try:
|
||||||
await self.heart_fc_sender.complete_thinking(chat_id, thinking_id)
|
await self.heart_fc_sender.complete_thinking(chat_id, thinking_id)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"{self.log_prefix}完成思考状态 {thinking_id} 时出错: {e}")
|
logger.error(f"{self.log_prefix}完成思考状态 {thinking_id} 时出错: {e}")
|
||||||
|
|
||||||
return first_bot_msg # 返回第一个成功发送的消息对象
|
return sent_msg_list
|
||||||
|
|
||||||
async def _choose_emoji(self, send_emoji: str):
|
async def _choose_emoji(self, send_emoji: str):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ install(extra_lines=3)
|
|||||||
logger = get_logger("sender")
|
logger = get_logger("sender")
|
||||||
|
|
||||||
|
|
||||||
async def send_message(message: MessageSending) -> None:
|
async def send_message(message: MessageSending) -> str:
|
||||||
"""合并后的消息发送函数,包含WS发送和日志记录"""
|
"""合并后的消息发送函数,包含WS发送和日志记录"""
|
||||||
message_preview = truncate_message(message.processed_plain_text, max_length=40)
|
message_preview = truncate_message(message.processed_plain_text, max_length=40)
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@ async def send_message(message: MessageSending) -> None:
|
|||||||
# 直接调用API发送消息
|
# 直接调用API发送消息
|
||||||
await global_api.send_message(message)
|
await global_api.send_message(message)
|
||||||
logger.success(f"已将消息 '{message_preview}' 发往平台'{message.message_info.platform}'")
|
logger.success(f"已将消息 '{message_preview}' 发往平台'{message.message_info.platform}'")
|
||||||
|
return message.processed_plain_text
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"发送消息 '{message_preview}' 发往平台'{message.message_info.platform}' 失败: {str(e)}")
|
logger.error(f"发送消息 '{message_preview}' 发往平台'{message.message_info.platform}' 失败: {str(e)}")
|
||||||
@@ -120,8 +121,13 @@ class HeartFCSender:
|
|||||||
else:
|
else:
|
||||||
await asyncio.sleep(0.5)
|
await asyncio.sleep(0.5)
|
||||||
|
|
||||||
await send_message(message)
|
sent_msg = await send_message(message)
|
||||||
await self.storage.store_message(message, message.chat_stream)
|
await self.storage.store_message(message, message.chat_stream)
|
||||||
|
|
||||||
|
if sent_msg:
|
||||||
|
return sent_msg
|
||||||
|
else:
|
||||||
|
return "发送失败"
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"[{chat_id}] 处理或存储消息 {message_id} 时出错: {e}")
|
logger.error(f"[{chat_id}] 处理或存储消息 {message_id} 时出错: {e}")
|
||||||
|
|||||||
@@ -577,7 +577,7 @@ class LLMRequest:
|
|||||||
)
|
)
|
||||||
# 安全地检查和记录请求详情
|
# 安全地检查和记录请求详情
|
||||||
handled_payload = await _safely_record(request_content, payload)
|
handled_payload = await _safely_record(request_content, payload)
|
||||||
logger.critical(f"请求头: {await self._build_headers(no_key=True)} 请求体: {handled_payload}")
|
logger.critical(f"请求头: {await self._build_headers(no_key=True)} 请求体: {handled_payload[:100]}")
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
f"模型 {self.model_name} API请求失败: 状态码 {exception.status}, {exception.message}"
|
f"模型 {self.model_name} API请求失败: 状态码 {exception.status}, {exception.message}"
|
||||||
)
|
)
|
||||||
@@ -591,7 +591,7 @@ class LLMRequest:
|
|||||||
logger.critical(f"模型 {self.model_name} 请求失败: {str(exception)}")
|
logger.critical(f"模型 {self.model_name} 请求失败: {str(exception)}")
|
||||||
# 安全地检查和记录请求详情
|
# 安全地检查和记录请求详情
|
||||||
handled_payload = await _safely_record(request_content, payload)
|
handled_payload = await _safely_record(request_content, payload)
|
||||||
logger.critical(f"请求头: {await self._build_headers(no_key=True)} 请求体: {handled_payload}")
|
logger.critical(f"请求头: {await self._build_headers(no_key=True)} 请求体: {handled_payload[:100]}")
|
||||||
raise RuntimeError(f"模型 {self.model_name} API请求失败: {str(exception)}")
|
raise RuntimeError(f"模型 {self.model_name} API请求失败: {str(exception)}")
|
||||||
|
|
||||||
async def _transform_parameters(self, params: dict) -> dict:
|
async def _transform_parameters(self, params: dict) -> dict:
|
||||||
|
|||||||
Reference in New Issue
Block a user