试图修复PFC开始对话实例时载入聊天记录缺失的bug

开始对话示例时出现神秘bug导致聊天记录缺失(只有对方的没有bot的),经过高人指点将提取聊天记录方式改用chat_message_builder中的函数而不是storage
This commit is contained in:
114514
2025-04-26 14:24:48 +08:00
parent 02cbe6e413
commit 2a5184ba46

View File

@@ -1,7 +1,8 @@
import time
import asyncio
import datetime
from .message_storage import MongoDBMessageStorage
# from .message_storage import MongoDBMessageStorage
from src.plugins.utils.chat_message_builder import get_raw_msg_before_timestamp_with_chat
from ...config.config import global_config
from typing import Dict, Any
from ..chat.message import Message
@@ -75,13 +76,10 @@ class Conversation:
raise
try:
logger.info(f"{self.stream_id} 加载初始聊天记录...")
storage = MongoDBMessageStorage() # 创建存储实例
# 获取当前时间点之前最多 N 条消息 (比如 30 条)
# get_messages_before 返回的是按时间正序排列的列表
initial_messages = await storage.get_messages_before(
initial_messages = await get_raw_msg_before_timestamp_with_chat( #
chat_id=self.stream_id,
time_point=time.time(),
limit=30, # 加载最近20条作为初始上下文可以调整
timestamp=time.time(),
limit=30, # 加载最近30条作为初始上下文可以调整
)
if initial_messages:
# 将加载的消息填充到 ObservationInfo 的 chat_history