【扣子Coze 智能体案例四】五行八卦占卜智能体

目录

一、意图识别 

二、时间格式转换

三、八字转换

四、八字提取

五、八字提取2

六、数据汇总

七、统计五行占比

八、雷达图生成

九、表格生成

十、AI占卜

十一、结束节点


一、意图识别 

用户输入的信息包含各种时间格式的年月日时
用户输入的信息包含天干地支八字

二、时间格式转换

三、八字转换

四、八字提取

请将输入的信息中的八字抽取出来,仅保留八字信息,不要输出其他任何内容
{{input}}

 

五、八字提取2

请将输入的信息中的八字抽取出来,仅保留八字信息,不要输出其他任何内容
{{input}}

六、数据汇总

# 在这里,您可以通过 ‘args’  获取节点中的输入变量,并通过 'ret' 输出结果
# 'args' 和 'ret' 已经被正确地注入到环境中
# 下面是一个示例,首先获取节点的全部输入参数params,其次获取其中参数名为‘input’的值:
# params = args.params; 
# input = params.input;
# 下面是一个示例,输出一个包含多种数据类型的 'ret' 对象:
# ret: Output =  { "name": ‘小明’, "hobbies": [“看书”, “旅游”] };

async def main(args: Args) -> Output:
    params = args.params
    input1 = params['input1']
    input2 = params['input2']
    if input1:
        res = input1
    else:
        res = input2
    # 构建输出对象
    ret: Output = {
        "bazi": res,
    }
    return ret

 

七、统计五行占比

# 在这里,您可以通过 ‘args’  获取节点中的输入变量,并通过 'ret' 输出结果
# 'args' 和 'ret' 已经被正确地注入到环境中
# 下面是一个示例,首先获取节点的全部输入参数params,其次获取其中参数名为‘input’的值:
# params = args.params; 
# input = params.input;
# 下面是一个示例,输出一个包含多种数据类型的 'ret' 对象:
# ret: Output =  { "name": ‘小明’, "hobbies": [“看书”, “旅游”] };


def parser(data):
    map1 = {
        "gold": "金",
        "wood": "木",
        "water": "水",
        "fire": "火",
        "soil": "土",
    }
    map2 = {
        "gold": ["庚", "辛", "申", "酉", "丑"],
        "wood": ["甲", "乙", "寅", "卯", "未"],
        "water": ["壬", "癸", "子", "亥", "辰"],
        "fire": ["丙", "丁", "巳", "午", "戌"],
        "soil": ["戊", "己", "丑", "辰", "未", "戌"],
    }
    user_wuxing_info = {
        "gold": [],
        "wood": [],
        "water": [],
        "fire": [],
        "soil": [],
    }

    for wuxing_item in data:
        if wuxing_item == " ":
            continue
        for key, value in map2.items():
            if wuxing_item in value:
                user_wuxing_info[key].append(wuxing_item)

    user_wuxing_desc = ""
    user_wuxing_count = {
        "gold": 0,
        "wood": 0,
        "water": 0,
        "fire": 0,
        "soil": 0,
    }
    for key, value in user_wuxing_info.items():
        if value:
            user_wuxing_desc += map1[key] + f":{','.join(value)} ({len(value)})\n"
        else:
            user_wuxing_desc += map1[key] + f":(0)\n"
        user_wuxing_count[key] = len(value)
    user_wuxing_desc += "注:辰戌丑未有双重五行属性。"
    return user_wuxing_count, user_wuxing_desc

async def main(args: Args) -> Output:
    params = args.params

    bazi = params["bazi"]
    user_wuxing_count, user_wuxing_desc = parser(bazi)

    # 构建输出对象
    ret: Output = {
        "user_wuxing_count": user_wuxing_count,
        "user_wuxing_desc": user_wuxing_desc
       
    }
    return ret

八、雷达图生成

请按照输入的内容,将英文翻译为对应的金木水火土中文,并按照数据生成雷达图,如果有空值替换为0,四舍五入保留整数,数值上限与最大值相同, 禁止返回除图片以外的内容
{{input}}

九、表格生成

请按照用户输入的天干地支八字按照如下格式生成三行四列的表格:
第一行为表头:年柱,月柱,日柱,时柱
第二行为天干
第三行为地支

仅返回表格,禁止返回其他内容
{{input}}

十、AI占卜

系统提示词

结合输入的数据,如果有空值当做0,如果有知识库,优先采用知识库的内容进行回答,仅返回建议内容,禁止返回翻译过程和数据转换过程的任何信息,仅返回建议

用户提示词

将英文按照金木水火土翻译后,对用户的五行属性进行分析,结合性格、行为给出生活化的五行平衡参考建议,字数200字以内
{{input}}

十一、结束节点

# 您好,欢迎使用[AI五行平衡助手]!

我们期待您能从古老的东方智慧中得到启示。

通过平衡五行、了解优势和不足、找到成长的方向,从自身开始改变,在生活中进行“知行合一”的实修。

# 1、您的五行结构如下 :

{{table}}

# 2、您的五行元素分析:

{{desc}}

# 3、您的五行平衡图:

{{radio}}


# 专业五行平衡思路:

1、无寄有、有生无;
2、顺应时空有妙法;
3、流通才是真平衡;

# 4、AI给您的建议

注:本报告中的【AI建议】仅供拓展和延伸,可能会打开你的思路。但AI的判断来自大数据,网络上的体系和判断标准多样,缺乏一致性,存在偏差和误区。

# [AI给您的五行平衡参考建议]:

{{ai_suggest}}

感谢您使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Calvad0s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值