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

中国建行官网首页绍兴seo排名外包

中国建行官网首页,绍兴seo排名外包,做外包网站的公司是怎样的,全国最好的广告公司加盟针对智能设备语音指导大模型自动定闹钟策略 目前没有很好的办法让大模型提高定时这种准确任务,那么我就希望代码解析推算出准确时间,并由大模型播报,通过制作插件嵌入大模型解决定闹钟幻觉的问题: from runtime import Args from …

针对智能设备语音指导大模型自动定闹钟策略

目前没有很好的办法让大模型提高定时这种准确任务,那么我就希望代码解析推算出准确时间,并由大模型播报,通过制作插件嵌入大模型解决定闹钟幻觉的问题:

from runtime import Args
from typings.time_calculation.time_calculation import Input, Output
import re
import json
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
from dateutil.parser import parse
import randomclass SmartAlarmClock:def __init__(self, args):self.time_ranges = {'凌晨': (0, 6),'早上': (6, 8),'上午': (8, 11.5),'中午': (11.5, 13),'下午': (13, 18),'晚上': (18, 23)}self.chinese_num_map = {'零': 0, '一': 1, '二': 2, '两': 2, '三': 3, '四': 4,'五': 5, '六': 6, '七': 7, '八': 8, '九': 9,'十': 10}def _chinese_to_arabic(self, cn_num):"""转换中文数字到阿拉伯数字(0-99)"""if cn_num in self.chinese_num_map:return self.chinese_num_map[cn_num]if '十' in cn_num:parts = cn_num.split('十')ten = 10 if parts[0] == '' else self.chinese_num_map.get(parts[0], 0) * 10unit = self.chinese_num_map.get(parts[1], 0) if len(parts) > 1 else 0return ten + unitreturn 0def get_current_time_period(self):"""获取当前时间段名称"""now = datetime.now()current_hour = now.hour + now.minute / 60for period, (start, end) in self.time_ranges.items():if start <= current_hour < end:return periodreturn '晚上'def parse_chinese_time(self, text):"""解析中文时间表达式如'三点半'、'三点一刻'等"""pattern = r'([一二三四五六七八九十零]+)点(半|一刻|三刻|(\d+)分)?'match = re.search(pattern, text)if not match:return Nonehour_cn = match.group(1)hour = self.chinese_num_map.get(hour_cn, 0)if hour == 0:try:hour = int(hour_cn)except:return Noneminute_type = match.group(2)minute = 0if minute_type == '半':minute = 30elif minute_type == '一刻':minute = 15elif minute_type == '三刻':minute = 45elif match.group(3):minute = int(match.group(3))return hour, minutedef parse_time_expression(self, text, args):"""解析用户的时间表达式"""now = datetime.now()text = text.replace(' ', '')# 初始化默认时间为当前时间alarm_time = now.replace(second=0, microsecond=0)days_later = 0month = now.monthday = now.dayyear = now.yeardelta_match = re.search(r'('r'(\d+|半)(?:个?)?(小时|分钟|钟头|个小时|钟)?(?:\s*半)?'r'|(半钟头)'r'|(\d+\s*个\s*半\s*(?:小时|钟头|钟))'r'|(([一二三四五六七八九十两\d]+)刻钟?)'r')(后|以后)', text)if delta_match:num = 0unit = ''if delta_match.group(4):num = 0.5unit = '小时'elif delta_match.group(5):match = re.search(r'(\d+)\s*个\s*半', delta_match.group(5))if match:num = int(match.group(1)) + 0.5if any(word in delta_match.group(5) for word in ['小时', '钟头', '钟']):unit = '小时'else:unit = '分钟'elif delta_match.group(6):num_str = delta_match.group(7)if num_str.isdigit():num = int(num_str)else:num = self._chinese_to_arabic(num_str)unit = '分钟'num = num * 15else:num_str = delta_match.group(2)unit = delta_match.group(3) if delta_match.group(3) else ''if num_str == '半':num = 0.5if not unit:if '钟头' in delta_match.group(0):unit = '小时'else:unit = 'minutes'else:num = int(num_str)if unit in ['小时', '个钟头', '个小时', '钟']:delta = timedelta(hours=num)elif unit == '分钟':delta = timedelta(minutes=num)else:delta = timedelta(minutes=num if num != 0.5 else 30)alarm_time = now + deltaif alarm_time.day != now.day:alarm_time = alarm_time.replace(hour=0, minute=0, second=0, microsecond=0)return alarm_time# 处理日期部分if '大后天' in text or '大大后天' in text:days_later = text.count('大') + 2elif '后天' in text:days_later = 2elif '明天' in text:days_later = 1date_match = re.search(r'(\d{1,2})[月号](\d{1,2})?[号日]?', text)if date_match:if date_match.group(2):month = int(date_match.group(1))day = int(date_match.group(2))else:day = int(date_match.group(1))if day < now.day:month += 1if month > 12:month = 1year += 1# 应用日期调整if days_later > 0:alarm_time += timedelta(days=days_later)else:try:alarm_time = alarm_time.replace(year=year, month=month, day=day)except ValueError:import calendarlast_day = calendar.monthrange(year, month)[1]alarm_time = alarm_time.replace(year=year, month=month, day=last_day)# 处理时间段period_hour_adjust = 0for period, (start, end) in self.time_ranges.items():if period in text:if period in ['下午', '晚上']:period_hour_adjust = 12break# 提取具体时间hour = minute = 0chinese_time = self.parse_chinese_time(text)if chinese_time:hour, minute = chinese_timeelse:time_match = re.search(r'(\d{1,2})[:点](\d{1,2})?', text)if time_match:hour = int(time_match.group(1))minute = int(time_match.group(2)) if time_match.group(2) else 0# 应用时间段调整if hour != 0:# 处理时间段调整if (period_hour_adjust == 12 and hour < 12) or hour >= 13:hour += period_hour_adjusthour = hour % 24# 设置时间alarm_time = alarm_time.replace(hour=hour, minute=minute)# 检查是否需要调整到第二天if alarm_time <= now:# 如果用户没有明确指定时间段,且时间小于当前时间if period_hour_adjust == 0 and days_later == 0 and not date_match:# 如果是上午时间(0-12点),尝试调整为下午if hour < 12:alarm_time = alarm_time.replace(hour=hour+12)# 如果调整后时间仍然过去,则设置为第二天if alarm_time <= now:alarm_time += timedelta(days=1)alarm_time = alarm_time.replace(hour=hour)  # 恢复原始小时数else:# 下午时间已经过去,设置为第二天alarm_time += timedelta(days=1)return alarm_timedef generate_response(self, alarm_time, reminder_text):"""生成响应JSON"""now = datetime.now()if alarm_time is None:return json.dumps({"status": "error","message": "时间已过,无法设置过去的闹钟。"}, ensure_ascii=False)# 计算日期差值delta_days = (alarm_time.date() - now.date()).days# 确定日期显示方式if delta_days == 1:date_display = "明天"elif delta_days == 2:date_display = "后天"elif delta_days == 3:date_display = "大后天"elif delta_days > 3:date_display = f"{alarm_time.year}{alarm_time.month}{alarm_time.day}日"else:  # 当天date_display = "今天"time_str = alarm_time.strftime("%H:%M")time_str12 = alarm_time.strftime("%I:%M")hour = alarm_time.hour + alarm_time.minute / 60period = '凌晨'for p, (start, end) in self.time_ranges.items():if start <= hour < end:period = pbreakresponse_template = [f"收到!主人请放心, 将在{date_display} {period}{time_str12}准时提醒您{reminder_text}。",f"好的主人!您去忙吧,{date_display} {period}{time_str12},我会准时提醒您{reminder_text}。",f"好的,我会在{date_display} {period}{time_str12}提醒您{reminder_text}。",f"没问题包在我身上!,我会在{date_display} {period}{time_str12}准时提醒您{reminder_text}。"]# JSON模板仍使用原始日期格式JSON_template = str({"intention": "F", "date": alarm_time.strftime("%m/%d"), "time": time_str})return json.dumps({"status": "success","date": alarm_time.strftime("%m/%d"),"time": time_str,"period": period,"message": response_template[random.randint(0, 3)] + JSON_template}, ensure_ascii=False)def process_request(self, user_input, args):"""处理用户输入"""reminder_match = re.search(r'提醒我(.+)$|提醒(.+)$', user_input)reminder_text = reminder_match.group(1) or reminder_match.group(2) if reminder_match else "提醒您"alarm_time = self.parse_time_expression(user_input, args=args)return self.generate_response(alarm_time, reminder_text)def handler(args: Args[Input])->Output:alarm = SmartAlarmClock(args=args)response = alarm.process_request(args.input.user_description, args)return {"response": response}

插件输入输出参数配置:

在这里插入图片描述

结果展示

在这里插入图片描述

以上就是最终定时结果


文章转载自:

http://IlfljkvU.jjzxn.cn
http://BFIQ6DIH.jjzxn.cn
http://FSofc9Xn.jjzxn.cn
http://ykepPoGE.jjzxn.cn
http://GbsG1wNC.jjzxn.cn
http://2v3G53sa.jjzxn.cn
http://W8r0niRC.jjzxn.cn
http://iDJ3KipM.jjzxn.cn
http://hpiem8bT.jjzxn.cn
http://84hwMFly.jjzxn.cn
http://QmMimGfj.jjzxn.cn
http://F4TykZJc.jjzxn.cn
http://ifNTvoX2.jjzxn.cn
http://NWPupdn0.jjzxn.cn
http://L4vT88Ab.jjzxn.cn
http://uC4e14zE.jjzxn.cn
http://PpKvgqKP.jjzxn.cn
http://8qI2dOoQ.jjzxn.cn
http://eYXknAQE.jjzxn.cn
http://vLCeWEhB.jjzxn.cn
http://hMsqnBB7.jjzxn.cn
http://rlz67woa.jjzxn.cn
http://iwef2TNu.jjzxn.cn
http://VNHmtKYv.jjzxn.cn
http://NrQSGEkX.jjzxn.cn
http://bKYGUNjX.jjzxn.cn
http://bGFVdmSQ.jjzxn.cn
http://5tzR3gnA.jjzxn.cn
http://x4bkQBmy.jjzxn.cn
http://owptHA74.jjzxn.cn
http://www.dtcms.com/wzjs/719078.html

相关文章:

  • 凡科网的网站建设怎么做手机网站漂浮怎么做
  • 做的烂的网站句容市网站seo优化排名
  • 弹性盒子做自适应网站ftp如何上传网站
  • 优惠券推广网站怎么做株洲网站设计外包首选
  • 免费 网站 如何做网站开发服务费计入哪项费用
  • 汕头市营商环境建设监督局网站wordpress更新 ftp
  • 云存储做网站有免费的wordpress
  • 网站开发 参考文献网站选项卡
  • 站长统计黄页网站下载大全购物商城模板
  • 石狮网站建设联系电话靖江市建设行业协会网站
  • 中山市企业网站建设网站建设需要经历什么步骤
  • 微信分销网站建设价格舅舅建筑网
  • 网站外包制作网站开发是什么职位
  • 网站主题切换网站建设与管理和电子商务哪个好
  • 交友深圳网站建设做一个网站的流程
  • 网站模板使用wordpress 页面伪静态页面
  • 制作网站怎么用图片做背景电子商务的就业方向是什么
  • 厦门网站建设培训机构响应式网站排名如何
  • 那里做直播网站中小企业网络组网案例
  • 关于网站建设的英文歌什么是网络营销?
  • 怎么提高网站权重机械东莞网站建设0769
  • 设计素材网站破解网站字体颜色大小
  • 给公司做网站软件广州网站建设公司怎么选
  • p2p网站建设教程陇城科技网站建设
  • 推广网站的方法有搜索引擎wordpress列表页添加页码
  • 电子产品玩具东莞网站建设钢铁网站建设
  • 做自适应网站点击软件
  • 中国建设银行昆山支行网站长春招聘网智联
  • 怎样做后端数据传输前端的网站常德seo招聘
  • 淘宝客网站建设分类商标设计一般多少钱