Merge pull request #851 from smartmita/dev

试图修复PFC开始对话实例时载入聊天记录缺失的bug
This commit is contained in:
墨梓柒
2025-04-26 14:27:57 +08:00
committed by GitHub

View File

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