mirror of
https://github.com/LiteyukiStudio/marshoai-melo.git
synced 2025-09-05 20:26:25 +00:00
🐱readme,结构更新
This commit is contained in:
47
marshoai/models.py
Normal file
47
marshoai/models.py
Normal file
@ -0,0 +1,47 @@
|
||||
from marshoai.util import *
|
||||
|
||||
class MarshoContext:
|
||||
"""
|
||||
Marsho 的上下文类
|
||||
"""
|
||||
def __init__(self):
|
||||
self.contents = {
|
||||
"private": {},
|
||||
"non-private": {}
|
||||
}
|
||||
|
||||
def _get_target_dict(self, is_private):
|
||||
return self.contents["private"] if is_private else self.contents["non-private"]
|
||||
|
||||
def append(self, content, target_id: str, is_private: bool):
|
||||
"""
|
||||
往上下文中添加消息
|
||||
"""
|
||||
target_dict = self._get_target_dict(is_private)
|
||||
if target_id not in target_dict:
|
||||
target_dict[target_id] = []
|
||||
target_dict[target_id].append(content)
|
||||
|
||||
def set_context(self, contexts, target_id: str, is_private: bool):
|
||||
"""
|
||||
设置上下文
|
||||
"""
|
||||
target_dict = self._get_target_dict(is_private)
|
||||
target_dict[target_id] = contexts
|
||||
|
||||
def reset(self, target_id: str, is_private: bool):
|
||||
"""
|
||||
重置上下文
|
||||
"""
|
||||
target_dict = self._get_target_dict(is_private)
|
||||
target_dict[target_id].clear()
|
||||
|
||||
def build(self, target_id: str, is_private: bool) -> list:
|
||||
"""
|
||||
构建返回的上下文,其中包括系统消息
|
||||
"""
|
||||
spell = get_prompt()
|
||||
target_dict = self._get_target_dict(is_private)
|
||||
if target_id not in target_dict:
|
||||
target_dict[target_id] = []
|
||||
return [spell] + target_dict[target_id]
|
Reference in New Issue
Block a user