storage\\LLMdrill\\direct_memory.json
,可以根据需要增删有5个接口:
/step1/gossip:第一步,生成群众的窃窃私语
/step1/evacuate:
用户输入劝离语言→
模型生成npc内心想法、情感分析→
大模型据此分析用户的离开意图intention
→
根据想法、情感、意图生成本轮npc对用户的回复。
/step1/reset:重置第一步的相关变量(包括聊天记录、npc的相关状态、从json文件读取的npc信息;方便劝离失败重来时调用)
/export/crowd_emotion_trend:生成并获取群众整体的情绪趋势图
GET <http://127.0.0.1:8000/step1/gossip
>
生成的prompt:
<simulate_crowd_gossip> 赵刚:
你是赵刚:
年龄:35
性别:男
性格:好奇心强,认为自己见多识广,喜欢“自己判断事情”
背景:网约车司机,平时跑车也经常看社会新闻 ,觉得很多事都是虚张声势。
近期事项:今天没接到几单,心情烦躁。
生活方式:赵刚作息不规律,经常昼夜颠倒,对小区里发生的事十分敏感。
现在你在围观小区中一名精神病人发病的现场, 病人正在持刀,精神不稳定。身边群众也在议论 。
结合情景和个人信息说出一句话。只给出说话内容,不要输出无关内容(避免出现脏话词汇)。
此前现场群众的对话:
['王翠花:"哎哟喂,这小伙子咋回事啊,大清早 的拿个刀多吓人啊!前两天广场舞那边就闹得不 愉快,今天又碰上这事儿,咱们可得离远点儿, 别伤着了!"']
注意:每调用一次接口,所有群众发言一轮。
聊天记录会被记录,下次调用会将所有聊天记录写入prompt(形成上下文)。第二次调用接口时生成的prompt如下:
<simulate_crowd_gossip> 刘大壮:
你是刘大壮:
年龄:50
性别:男
性格:暴脾气,讨厌被命令,觉得“你不是我爹你管不着我”
背景:搬运工,平时就不喜欢警察,觉得执法都过头管闲事
近期事项:刚下班心情很差,看到这事就想“看个痛快”
生活方式:作息不规律,劳累时特别容易发火,不信任何“官面语言”
现在你在围观小区中一名精神病人发病的现场,病人正在持刀,精神不稳定。 身边群众也在议论。
结合情景和个人信息说出一句话。只给出说话内容,不要输出无关内容(避免 出现脏话词汇)。
此前现场群众的对话:
[【这一行是第一轮的聊天记录】'王翠花:"哎哟喂,这小伙子咋回事啊,大清早的拿个刀多吓人啊!前两天广 场舞那边就闹得不愉快,今天又碰上这事儿,咱们可得离远点儿,别伤着了!"', '赵刚:"这年头动不动就拿刀,八成又是炒作吧?我看他眼神挺清醒的,别 是跟物业有矛盾在这儿演戏呢。"', '孙倩倩:"家人们快看!突发状况!我们小区有人持刀对峙!我已经在安全距离拍到第一手画面了,老铁们赶紧点关注, 后续情况马上更新!"', '刘大壮:"哼!警察来了又能咋地?还不是先拿喇叭喊半天废话!要我说直接一棍子撂倒完事儿,搁这儿演给谁看呢?"',
【这一行是第二轮的聊天记录】'王翠花:"哎呦我的老天爷啊!这小伙子舞刀弄枪的比我们跳广场舞还来劲!你们瞅瞅他 那眼神儿——跟昨儿抢我领舞位置的老李头一模一样!警察咋还不来啊?再不来 我可要回家给闺女打电话说道说道了!"', '赵刚:"都别瞎起哄了,我看这人拿刀的姿势都不专业,估计又是想红想疯了,等会儿警察来了准保秒怂。"', '孙倩倩:"家人们快看!这绝对是今日最炸裂的现场!持刀大哥这波操作太硬核了 ,我冒着生命危险给你们拍特写!双击屏幕送小心心,破十万赞立刻开直播!"']
群众的发言是顺序的,全部生成后统一返回。返回示例如下:
{
"王翠花": "\\"哎呦我的老天爷啊!这小伙子舞刀弄枪的比我们跳广场舞还来劲!你们瞅瞅他那眼神儿——跟昨儿抢我领舞位置的老李头一模一样!警察咋还不来啊?再不来我可要回家给闺女打电话说道说道了!\\"",
"赵刚": "\\"都别瞎起哄了,我看这人拿刀的姿势都不专业,估计又是想红想疯了,等会儿警察来了准保秒怂。\\"",
"孙倩倩": "\\"家人们快看!这绝对是今日最炸裂的现场!持刀大哥这波操作太硬核了,我冒着生命危险给你们拍特写!双击屏幕送小心心,破十万赞立刻开直播!\\"",
"刘大壮": "\\"警察来了也是磨磨唧唧的,等他们摆完架势黄花菜都凉了!要我说直接上去给他两下子就老实了,整天整这些没用的!\\""
}
storage\\LLMdrill\\direct_memory.json
储存step1围观群众的个人信息,其中一项如下(可以修改这个文件来设计围观群众npc):