提示词增强
This commit is contained in:
@@ -305,12 +305,8 @@ class AIChatGame(BaseGame):
|
||||
# 创建ChatMemoryBuffer(设置足够的token_limit确保保留30+轮对话)
|
||||
memory = ChatMemoryBuffer.from_defaults(token_limit=8000)
|
||||
|
||||
# 系统提示
|
||||
system_prompt = (
|
||||
"这是一个多用户对话场景,不同用户的发言会用不同的角色标识(如'用户1'、'用户2'等)。"
|
||||
"你需要理解不同用户的发言内容,并根据上下文给出合适的回复。"
|
||||
"请用自然、友好的方式与用户交流。"
|
||||
)
|
||||
# 从配置文件加载系统提示词(如果存在),否则使用默认值并保存
|
||||
system_prompt = self._get_system_prompt()
|
||||
|
||||
# 创建对话引擎
|
||||
# 由于llama_index的API可能在不同版本有变化,这里使用基本的chat接口
|
||||
@@ -388,6 +384,66 @@ class AIChatGame(BaseGame):
|
||||
|
||||
return user_mapping, user_count
|
||||
|
||||
def _get_default_system_prompt(self) -> str:
|
||||
"""获取默认系统提示词
|
||||
|
||||
Returns:
|
||||
默认系统提示词
|
||||
"""
|
||||
return (
|
||||
"你是WPS游戏机器人的AI助手,这是一个多功能的游戏和娱乐机器人系统。"
|
||||
"这是一个多用户对话场景,不同用户的发言会用不同的角色标识(如'用户1'、'用户2'等)。"
|
||||
"你需要理解不同用户的发言内容,并根据上下文给出合适的回复。"
|
||||
"\n\n"
|
||||
"**你的身份和职责:**\n"
|
||||
"1. 你是WPS协作平台的游戏机器人AI助手\n"
|
||||
"2. 你可以帮助用户了解和使用机器人的各种功能\n"
|
||||
"3. 你可以回答用户的问题,提供游戏指导和建议\n"
|
||||
"4. 当用户询问功能时,主动推荐相关游戏和功能\n"
|
||||
"\n\n"
|
||||
"**机器人支持的功能:**\n"
|
||||
"1. 🎲 骰娘系统:`.r XdY` - 掷骰子游戏\n"
|
||||
"2. ✊ 石头剪刀布:`.rps 石头/剪刀/布` - 对战游戏\n"
|
||||
"3. 🔮 运势占卜:`.fortune` 或 `.运势` - 查看今日运势\n"
|
||||
"4. 🔢 猜数字:`.guess start` - 开始猜数字游戏\n"
|
||||
"5. 📝 问答游戏:`.quiz` - 回答问题挑战\n"
|
||||
"6. 🀄 成语接龙:`.idiom start` - 成语接龙游戏\n"
|
||||
"7. ⚫ 五子棋:`.gomoku challenge` - 发起五子棋对战\n"
|
||||
"8. 💎 积分系统:`.points` - 查看积分,`.checkin` - 每日签到\n"
|
||||
"9. ⚗️ 炼金系统:`.alchemy` - 消耗积分进行炼金\n"
|
||||
"10. ⚡️ 冒险系统:`.adventure` - 消耗时间进行冒险\n"
|
||||
"11. 🎁 积分赠送:`.gift <用户ID> <积分>` - 赠送积分给其他用户\n"
|
||||
"12. 📊 统计信息:`.stats` - 查看个人游戏统计\n"
|
||||
"13. ❓ 帮助信息:`.help` - 查看完整的帮助文档\n"
|
||||
"\n\n"
|
||||
"**回复指南:**\n"
|
||||
"- 用自然、友好、热情的方式与用户交流\n"
|
||||
"- 当用户不知道玩什么时,主动推荐适合的游戏\n"
|
||||
"- 详细解释功能的使用方法和规则\n"
|
||||
"- 鼓励用户尝试不同的游戏和功能\n"
|
||||
"- 如果是多人场景,可以推荐适合多人参与的游戏(如成语接龙、五子棋)\n"
|
||||
"- 记住用户的偏好和之前的对话内容,提供个性化建议\n"
|
||||
)
|
||||
|
||||
def _get_system_prompt(self) -> str:
|
||||
"""获取系统提示词(从配置文件加载,如果不存在则使用默认值并保存)
|
||||
|
||||
Returns:
|
||||
系统提示词
|
||||
"""
|
||||
config = self._load_config()
|
||||
|
||||
# 如果配置中存在系统提示词,直接返回
|
||||
if 'system_prompt' in config and config['system_prompt']:
|
||||
return config['system_prompt']
|
||||
|
||||
# 否则使用默认值并保存到配置文件
|
||||
default_prompt = self._get_default_system_prompt()
|
||||
config['system_prompt'] = default_prompt
|
||||
self._save_config(config)
|
||||
|
||||
return default_prompt
|
||||
|
||||
def _load_config(self) -> Dict[str, Any]:
|
||||
"""从JSON文件加载配置
|
||||
|
||||
|
||||
Reference in New Issue
Block a user