当前位置: 首页 > news >正文

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

欢迎来到《小5讲堂》
这是《千帆》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 背景
  • 创建应用
    • 基本信息
    • 角色指令
    • 引导信息
  • 组件
    • 整体界面
    • 开始节点
    • 代码节点
      • 输入参数
      • 编辑代码
      • 逻辑计算代码
      • 输出参数
    • 结束节点
  • 输出效果
  • 总结
  • 推荐文章

背景

最近在百度热搜看到关于延迟退休的消息。
从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。
基于这个通过AI应用来实现延迟退休等信息的输出,一起来看下博主是如何实现的。
计算延迟退休的逻辑主要是通过代码节点方式实现。

创建应用

基本信息

名称:法定退休年龄计算器
描述:这是一款计算法定退休年龄计算器应用,同时兼容新规定延迟退休得计算。

角色指令

这里的提示词主要是快速识别并提取用户输入的性别、出生日期、以及原定退休的年龄。
并将这三个参数传递给组件,组件再根据这三个参数在代码节点进行逻辑计算,最后输出延迟退休年龄等信息。
具体角色指令如下:

#角色设定
作为一个法定退休年龄计算器,你的任务是识别用户输入的性别、出生日期,并作为参数传递给组件。#组件能力
1.你具备调用法定退休年龄计算器组件的能力。
2.组件接收性别、出生日期两个参数,并输出对应退休年龄等信息。#要求与限制
1.输出输出内容必须合法合规,不得包含医疗等敏感信息。
2.性别参数值分为三类,6055503.出生日期
出生日期统一拆分转为年份和月份值。
4.严格根据格式输出。
5.如果未识别到年份、月份、原定退休年龄值,那么需要友好提示:"请输入有效值!"#输出格式
🍜您的延迟退休年龄:{{tuixiu_nianling}}
🍜您的延迟退休时间:{{tuixiu_shujian}}
🍜您的延迟月数:{{yanchi_yueshu}}
💎原退休年龄:{{yuan_nianling}}
💎原退休时间:{{yuan_shijian}}
💎距离退休时间:{{shengyu_value}}

引导信息

开场白和推荐问,能够让有用户快速了解你的应用具体是做什么,应该怎么使用。
开场白
❤️您好!欢迎使用法定退休年龄计算器~
⭐请输入您的性别和出生日期会根据延迟退休规则计算,比如:女,1979.3,50。
推荐问
1.男职工,1976年10月出生。
2.女职工,原55岁退休,1972年8月。
3.女职工,原50岁退休,1979年3月。

组件

在零代码界面组件选项引入开发好的法定退休年龄计算器组件,
鼠标移动到组件区域,可以看到输入参数以及是否非必填,和输出参数,
同时也可以点击组件跳转到编辑界面。
在这里插入图片描述

整体界面

可以看到组件界面非常的清爽,只有一个开始节点、代码节点、结束节点。
在这里插入图片描述

开始节点

主要是用来接收大模型的识别的必要参数,如下:
参数描述能够帮助大模型快速理解并准确提取和赋值。
界面可以看到定义了三个必要参数:
year=出生年份
month=出生月份
tuixiu_nianling=退休年龄。值分为60、55、50在这里插入图片描述

代码节点

代码节点,需要关键几个点,输入参数、代码编辑区域、输出参数。在这里插入图片描述

输入参数

代码运行的输入变量。代码中可以直接引用此处添加的变量。
输入参数主要是引用开始节点定义好的输入参数。在这里插入图片描述

编辑代码

点击编辑代码按钮,可以进行代码模拟数据运行测试,这个非常方便。
可以点击填充数据按钮,会自动填写参数和值,值可以自己编辑进行运行测试。在这里插入图片描述

逻辑计算代码

有代码基础的小伙伴,可以优化下面代码。
博主这里写的代码可能不够简洁,感兴趣的可以尝试优化下,或者用自己更加高效高质量的代码逻辑来实现。
若有更好的实现方法,可以评论区留言相互学习交流,一起进步。

import math
from datetime import datetime, timedelta
from calendar import monthrangedef main(params):test=''tuixiu_nianling_text=''tuixiu_shijian=''yanchi_yueshu=''tuixiu_nianling=params['tuixiu_nianling']value=0year=int(params['year'])month=int(params['month'])start_date=''if tuixiu_nianling==60:test='男性'value=(((year-1965)*12+month)/4)if value<=0:value=0start_date = datetime(year+60, month, 1)tuixiu_nianling_text=60elif tuixiu_nianling==55:test='女干部'value=(((year-1970)*12+month)/4)if value<=0:value=0start_date = datetime(year+55, month, 1)tuixiu_nianling_text=55else:test='女职工'value=(((year-1975)*12+month)/2)if value<=0:value=0start_date = datetime(year+50, month, 1)tuixiu_nianling_text=50integer_part, fractional_part=math.modf(value)if tuixiu_nianling==50:if value>60:yanchi_yueshu=60else:if integer_part>0:yanchi_yueshu=fractional_part+1else:yanchi_yueshu=fractional_partelse:if value>36:yanchi_yueshu=36else:if integer_part>0:yanchi_yueshu=fractional_part+1else:yanchi_yueshu=fractional_partif yanchi_yueshu>0:tuixiu_nianling_text+=int(yanchi_yueshu/12)# 加上月数new_date = add_months(start_date,int(yanchi_yueshu))tuixiu_shijian=new_date.strftime('%Y年%m月')yuefen_text=''if int(yanchi_yueshu%12)>0:yuefen_text=str(int(yanchi_yueshu%12))+'个月'# 定义两个时间time1 = datetime.now()time2 = new_date# 计算时间差years, months = calculate_years_months(time1, time2)output_object ={'tuixiu_nianling':str(tuixiu_nianling_text)+'岁'+yuefen_text,     # 改革后法定退休年龄'tuixiu_shijian':tuixiu_shijian,                                                        # 改革后退休时间'yanchi_yueshu':str(int(yanchi_yueshu))+'个月',                                              # 延迟月数'type':test,'chusheng_shijian':str(year)+'年'+str(month)+'月','yuan_nianling':str(tuixiu_nianling)+'岁','yuan_shijian':start_date.strftime('%Y年%m月'),'shengyu_value':str(years)+'年'+str(months)+'个月',}# 返回输出字典类型变量 output_object,包含代码节点所需的输出数据return output_object# 计算延迟退休时间
def add_months(start_date, months_to_add):# 计算新的年份和月份year = (start_date.year + (start_date.month + months_to_add - 1) // 12)month = (start_date.month + months_to_add - 1) % 12 + 1# 获取目标月份的最后一天last_day_of_month = monthrange(year, month)[1]# 计算新的日期,确保不超过目标月份的最大天数day = min(start_date.day, last_day_of_month)# 创建新的 datetime 对象new_date = datetime(year, month, day)return new_date# 计算还剩多少年退休
def calculate_years_months(start_date, end_date):# 确保 start_date 小于 end_dateif end_date < start_date:start_date, end_date = end_date, start_date# 相差年份year_diff = end_date.year - start_date.year# 相差月份month_diff = end_date.month - start_date.monthif month_diff<0:year_diff-=1month_diff+=12return year_diff, month_diff

输出参数

点击运行后,右边会有一个输出结果,在正确返回结果后,可以点击解析到输出参数,
会自动把参数名和数据类型填充到输出参数区域,组件节点整体体验,你会发现非常灵活边界,给我们提供了很多编辑操作。在这里插入图片描述
在这里插入图片描述

结束节点

结束节点是组件的返回值,这个返回值也是作为大模型的输入参数传递给大模型,最后大模型再根据这些组件返回的信息进行润色输出。
当然,大模型还会根据你零代码界面设定的角色指令进行思考输出,比如:指令提到的严格根据格式输出之类的。在这里插入图片描述

输出效果

在这里插入图片描述
在这里插入图片描述

总结

在组件里使用代码节点,速度是非常快的。
如果有一定复杂的逻辑处理,那么选择代码节点是比较好的一个选择。
即使没学过代码也没关系,Python开发语言相对比较容易上手,
直接打开文心一言就能找到相关的代码。

欢迎体验点个赞:「法定退休年龄计算器」:https://appbuilder.baidu.com/s/e9LmPLlR
移动端体验地址:https://wx.baeapps.com/api/ai_apaas/v1/wx_program/share?share_code=app5dLu0sKchCFkjDOgRpxy

推荐文章

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

【千帆AppBuilder】你有一封邮件待查收|未来的我,你好吗?欢迎体验AI应用《未来信使》

【千帆平台】零代码结合知识库或者插件开发一款AI应用,2024年奥运会运动员获奖信息(人工智能应用)

【千帆AppBuidler】零代码构建AI人工智能应用,全网都在喊话歌手谁能应战,一键AI制作歌手信息查询应用

【千帆平台】使用AppBuilder零代码创建应用,然后通过OpenAPI方式调用应用

【千帆平台】AIGC人工智能应用,使用AppBuilder零代码创建应用,Excel表格数据转为Markdown格式文本


http://www.mrgr.cn/news/31407.html

相关文章:

  • NoETL
  • 【游戏引擎之路】登神长阶(十四)——OpenGL教程:士别三日,当刮目相看
  • 浅谈C#之内存管理
  • 常见git命令记录
  • glide ModelLoader的Key错误使用 可能造成的内存泄漏
  • 【JAVA】正则表达式中的捕获组和非捕获组
  • ArrayList和Array有什么区别?
  • 算法课习题汇总(2)
  • Data Lakehouse如何使用
  • BUUCTF-MISC-隐藏的钥匙
  • 三 auto占位符
  • Vue3中el-table组件实现分页,多选以及回显
  • 【Redis入门到精通三】Redis核心数据类型(List,Set)详解
  • 【Linux】进程概念
  • Zookeeper安装使用教程
  • JAVA8新特性——Optional
  • uboot:源码分析-启动第一阶段-start.S解析
  • IPD流程体系:IPD在硬件产品开发中的应用
  • NCNN 学习(2)-Mat
  • 嵌入式linux系统中rk3588芯片引脚基本操作
  • 基于SpringBoot的旅游管理系统
  • Linux:Bash中的文件描述符
  • Ansbile-变量
  • 【云网络】软件定义网络SDN的概念与应用(以PVE8用户隔离,TLS证书介绍,自签证书等为例)
  • 服务器非法关闭后MySQL服务启动失败
  • 解决RabbitMQ设置TTL过期后不进入死信队列