fix: 构建记忆时重复读取同一段消息,导致token消耗暴增
This commit is contained in:
@@ -27,6 +27,7 @@ class Message(MessageBase):
|
||||
reply: Optional["Message"] = None
|
||||
detailed_plain_text: str = ""
|
||||
processed_plain_text: str = ""
|
||||
memorized_times: int = 0
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
@@ -19,6 +19,7 @@ class MessageStorage:
|
||||
"processed_plain_text": message.processed_plain_text,
|
||||
"detailed_plain_text": message.detailed_plain_text,
|
||||
"topic": topic,
|
||||
"memorized_times": message.memorized_times,
|
||||
}
|
||||
db.messages.insert_one(message_data)
|
||||
except Exception:
|
||||
|
||||
@@ -104,10 +104,13 @@ def get_closest_chat_from_db(length: int, timestamp: str):
|
||||
# 转换记录格式
|
||||
formatted_records = []
|
||||
for record in chat_records:
|
||||
# 兼容行为,前向兼容老数据
|
||||
formatted_records.append({
|
||||
'_id': record["_id"],
|
||||
'time': record["time"],
|
||||
'chat_id': record["chat_id"],
|
||||
'detailed_plain_text': record.get("detailed_plain_text", "") # 添加文本内容
|
||||
'detailed_plain_text': record.get("detailed_plain_text", ""), # 添加文本内容
|
||||
'memorized_times': record.get("memorized_times", 0) # 添加记忆次数
|
||||
})
|
||||
|
||||
return formatted_records
|
||||
|
||||
Reference in New Issue
Block a user