refactor relation add and cancel
This commit is contained in:
@@ -36,6 +36,7 @@ avatar:
|
||||
social:
|
||||
major_event_context_num: 10 # 大事(长期记忆)展示数量
|
||||
minor_event_context_num: 10 # 小事(短期记忆)展示数量
|
||||
relation_check_threshold: 5 # 关系检查需要的交互次数
|
||||
|
||||
nickname:
|
||||
major_event_threshold: 5 # 获得绰号需要的长期事件数量
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
你是一个小说家,这是一个仙侠世界,你负责来生成两个NPC间的对话内容,并决定两人是否会有关系的变化。
|
||||
你是一个小说家,这是一个仙侠世界,你负责来生成两个NPC间的对话内容。
|
||||
|
||||
你需要进行决策的NPC的dict[AvatarName, info]为
|
||||
{avatar_infos}
|
||||
@@ -7,18 +7,11 @@
|
||||
|
||||
{avatar_name_1}和{avatar_name_2}的对话可能是善意\恶意\闲聊。目的和内容参考NPC信息得出。
|
||||
|
||||
两者可能进入的关系:{possible_new_relations}
|
||||
两者可能取消的关系:{possible_cancel_relations}
|
||||
注意:进入/取消关系不是必须的,完全由你根据对话情况、双方性格、历史事件等判断决定。
|
||||
|
||||
注意,只返回json格式的结果。
|
||||
格式为:
|
||||
{{
|
||||
"{avatar_name_2}": {{
|
||||
"thinking": ..., // 简单思考对话如何进行
|
||||
"conversation_content": ... // 对包含神态、动作描写的第三人称小说有来有回的多轮对话片段,100~300字。
|
||||
"analyze_relation": ... // 分析是否应该有关系的取消或者新增
|
||||
"new_relation": ... // 如果你认为可以让两者产生某种身份关系,则返回关系的中文名,否则返回空str。注意这是{avatar_name_2}相对于{avatar_name_1}的身份。
|
||||
"cancel_relation": ... // 可选,如果你认为可以让两者取消某种身份关系,则返回关系的中文名,否则返回空str。注意这是{avatar_name_2}相对于{avatar_name_1}的身份。
|
||||
}}
|
||||
}}
|
||||
|
||||
33
static/templates/relation_update.txt
Normal file
33
static/templates/relation_update.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
你是一个修仙世界的关系裁决者。根据角色的历史交互,判断两人的关系是否应该发生变化。
|
||||
|
||||
【规则定义】
|
||||
{relation_rules_desc}
|
||||
|
||||
【角色 A 信息】
|
||||
{avatar_a_info}
|
||||
|
||||
【角色 B 信息】
|
||||
{avatar_b_info}
|
||||
|
||||
【当前时间】
|
||||
{current_time}
|
||||
|
||||
【当前关系】
|
||||
{current_relations}
|
||||
|
||||
【近期交互记录】
|
||||
{recent_events_text}
|
||||
|
||||
请分析:
|
||||
1. 根据交互记录,分析两人的互动是怎样的?
|
||||
2. 是否满足规则定义中建立新关系或取消旧关系的条件?
|
||||
3. 分析是否应该改变关系,关系的新增或者取消应该符合相关条件。
|
||||
|
||||
返回 JSON 格式:
|
||||
{{
|
||||
"analysis": "...", // 简要分析思路,明确指出为何变化或为何不变化
|
||||
"changed": true | false, // 是否发生关系变更。如无必要,请填 false
|
||||
"change_type": "ADD" | "REMOVE", // 变更类型。changed为false时可忽略
|
||||
"relation": "LOVERS" | "FRIEND" | "ENEMY" | "MASTER" ... (必须是大写枚举名), // 涉及的关系。changed为false时可忽略。注意是{avatar_a_name}相对于{avatar_b_name}的身份。如输出MASTER,即A变为B的师傅。
|
||||
"reason": "..." // 用于生成事件日志,如“经过多次生死与共,A与B结为道侣”。changed为false时可忽略
|
||||
}}
|
||||
@@ -1,13 +1,8 @@
|
||||
你是一个小说家,这是一个仙侠世界,你需要把一个事件扩展为一个约200~500字的故事。
|
||||
同时,根据事件发展和双方信息,决定两人是否会有关系的变化。
|
||||
|
||||
你需要进行决策的NPC的dict[AvatarName, info]为
|
||||
{avatar_infos}
|
||||
|
||||
两者可能进入的关系:{possible_new_relations}
|
||||
两者可能取消的关系:{possible_cancel_relations}
|
||||
注意:进入/取消关系不是必须的,完全由你根据故事情况、双方性格、历史事件等判断决定。
|
||||
|
||||
写作风格提示:{style}
|
||||
额外主题提示:{story_prompt}
|
||||
|
||||
@@ -18,10 +13,6 @@
|
||||
|
||||
注意,只返回json格式的结果,格式为:
|
||||
{{
|
||||
"thinking": ..., // 简单思考故事剧情和关系变化
|
||||
"story": "", // 第三人称的故事正文,仙侠语言风格
|
||||
"analyze_relation": ... // 分析是否应该有关系的取消或者新增,除非很合理,不强求关系的改变
|
||||
"new_relation": ... // 如果你认为可以让两者产生某种身份关系,则返回关系的中文名,否则返回空str。注意这是{avatar_name_2}相对于{avatar_name_1}的身份。
|
||||
"cancel_relation": ... // 可选,如果你认为可以让两者取消某种身份关系,则返回关系的中文名,否则返回空str。注意这是{avatar_name_2}相对于{avatar_name_1}的身份。
|
||||
"thinking": ..., // 简单思考故事剧情
|
||||
"story": "" // 第三人称的故事正文,仙侠语言风格
|
||||
}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user