feat:可添加的评估标准

pull/1467/head
SengokuCola 2025-12-27 17:48:28 +08:00
parent f92136bffc
commit a6e1a0e7d3
3 changed files with 30 additions and 5 deletions

View File

@ -34,15 +34,31 @@ def create_evaluation_prompt(situation: str, style: str) -> str:
Returns:
评估提示词
"""
# 基础评估标准
base_criteria = [
"表达方式或言语风格 是否与使用条件或使用情景 匹配",
"允许部分语法错误或口头化或缺省出现",
"表达方式不能太过特指,需要具有泛用性",
"一般不涉及具体的人名或名称"
]
# 从配置中获取额外的自定义标准
custom_criteria = global_config.expression.expression_auto_check_custom_criteria
# 合并所有评估标准
all_criteria = base_criteria.copy()
if custom_criteria:
all_criteria.extend(custom_criteria)
# 构建评估标准列表字符串
criteria_list = "\n".join([f"{i+1}. {criterion}" for i, criterion in enumerate(all_criteria)])
prompt = f"""请评估以下表达方式或语言风格以及使用条件或使用情景是否合适:
使用条件或使用情景{situation}
表达方式或言语风格{style}
请从以下方面进行评估
1. 表达方式或言语风格 是否与使用条件或使用情景 匹配
2. 允许部分语法错误或口头化或缺省出现
3. 表达方式不能太过特指需要具有泛用性
4. 一般不涉及具体的人名或名称
{criteria_list}
请以JSON格式输出评估结果
{{

View File

@ -373,6 +373,14 @@ class ExpressionConfig(ConfigBase):
默认值10
"""
expression_auto_check_custom_criteria: list[str] = field(default_factory=list)
"""
表达方式自动检查的额外自定义评估标准
格式: ["标准1", "标准2", "标准3", ...]
这些标准会被添加到评估提示词中作为额外的评估要求
默认值空列表
"""
def _parse_stream_config_to_chat_id(self, stream_config_str: str) -> Optional[str]:
"""
解析流配置字符串并生成对应的 chat_id

View File

@ -1,5 +1,5 @@
[inner]
version = "7.3.0"
version = "7.3.1"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
# 如果你想要修改配置文件请递增version的值
@ -96,6 +96,7 @@ expression_checked_only = true # 是否仅选择已检查且未拒绝的表达
expression_self_reflect = true # 是否启用自动表达优化Bot主动向管理员询问表达方式是否合适
expression_auto_check_interval = 600 # 表达方式自动检查的间隔时间单位默认值3600秒1小时
expression_auto_check_count = 20 # 每次自动检查时随机选取的表达方式数量默认值10条
expression_auto_check_custom_criteria = [] # 表达方式自动检查的额外自定义评估标准,格式:["标准1", "标准2", "标准3", ...],这些标准会被添加到评估提示词中,作为额外的评估要求
expression_manual_reflect = false # 是否启用手动表达优化Bot主动向管理员询问表达方式是否合适
manual_reflect_operator_id = "" # 手动表达优化操作员ID格式platform:id:type (例如 "qq:123456:private" 或 "qq:654321:group")