架构简析| 让智能体自己生成故事

WhatIfGPT概述

WhatIfGPT尝试用多个Agents之间的互动来自动生成故事. 项目里使用了一个故事讲述Agent,和多个角色Agents。故事讲述Agents负责和角色Agents交流,并旁叙故事。项目可以自定义故事主题、角色数量。故事讲述Agent和角色Agent都有记忆模块。项目会自动设立故事的目标,角色Agents会尝试达成目标,故事讲述Agent会在每轮讲述后检查目标是否达成。

WhatIfGPT工作流程如下:

在这里插入图片描述

  1. Story Settings --> Run:设定故事主题(story),如哈利·波特、加勒比海盗等,角色代理的数量,让GPT自动生成或手工设定每个角色名字(agent_names)和整个故事设定(story_setting_event)。点击Run按钮,开始生成故事,不需要用户再输入任何内容。
  2. Generate Main Stroy --> Stroyteller Narrates Main Story:根据用户输入的基本信息,进一步细化故事背景、故事人物等信息。
    1. 根据故事主题生成指定数量的角色代理,代理继承了LangChain的GenerativeAgent扩展类,使用下面给出的Prompt1(随机创建角色略有不同)创建角色的的性别、年龄等基本特征,并赋予记忆。
    2. 根据之前故事主题角色名字故事设定, 用prompt2让GPT生成一个故事起点(specified_story),指示角色接下来的行动,并用prompt3从中生成一个故事最终目标(story_main_objective)。
    3. 创建故事讲述者代理的实例和角色代理的实例。放入更具体的讲述者的System Prompt,角色的System Prompt。
# primpt1 
f"基于{
     story}角色 {
     name}拥有一些基本的记忆和事件,"  
"以JSON格式提供以下属性:\n"  
"name: 角色的名字\n"  
"race: 角色的种族\n"  
"sex: 角色的性别\n"  
"age: 角色的年龄\n"  
"traits: 描述角色的3到8个特征(用逗号分隔)\n"  
f"status: 从{
     story}的角度看角色的当前状态\n"  
f"daily_summaries: 今天角色完成的5到10个{
     mood}主题的日常活动(字符串数组)\n"  
f"memories: 角色生活中的5到10个{
     mood}主题的回忆
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值