新增了知识库一键启动漂亮脚本

This commit is contained in:
SengokuCola
2025-03-11 23:46:49 +08:00
parent 8d68e63835
commit ed18f2e96d
19 changed files with 454 additions and 258 deletions

View File

@@ -1,8 +1,6 @@
from typing import Optional
from pymongo import MongoClient
class Database:
_instance: Optional["Database"] = None
@@ -50,25 +48,4 @@ class Database:
def get_instance(cls) -> "Database":
if cls._instance is None:
raise RuntimeError("Database not initialized")
return cls._instance
#测试用
def get_random_group_messages(self, group_id: str, limit: int = 5):
# 先随机获取一条消息
random_message = list(self.db.messages.aggregate([
{"$match": {"group_id": group_id}},
{"$sample": {"size": 1}}
]))[0]
# 获取该消息之后的消息
subsequent_messages = list(self.db.messages.find({
"group_id": group_id,
"time": {"$gt": random_message["time"]}
}).sort("time", 1).limit(limit))
# 将随机消息和后续消息合并
messages = [random_message] + subsequent_messages
return messages
return cls._instance