You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Amazon Lex机器人禁止纯整数作为工单提交原因

Amazon Lex工单原因纯整数输入校验实现方案

你可以通过以下两种方式实现禁止纯整数作为工单原因的校验规则:


方案1:槽位内置正则校验(无代码,轻量化实现)

直接在槽位配置中添加正则拦截规则,无需额外开发:

  • 进入Amazon Lex控制台,打开对应的提交工单意图
  • 定位到存储工单原因的槽位,进入槽位的校验配置页
  • 在正则匹配规则中填入如下规则:
    ^(?!\d+$).+$

    规则说明:会拦截所有从头到尾仅包含数字的输入,只要输入包含任意非数字字符即可通过校验

  • 配置校验失败的提示语,例如:工单原因不能仅为数字,请补充具体故障描述,例如"网络连接故障"
  • 保存配置后重新构建机器人即可生效

方案2:Lambda代码钩子校验(适合后续扩展更多规则)

如果后续需要新增敏感词过滤、长度限制等其他校验逻辑,可以用Lambda函数实现灵活校验:

  1. 创建Python运行时的Lambda函数,示例代码如下:
import re

# Lex V1 版本示例代码
def lambda_handler(event, context):
    ticket_reason = event['currentIntent']['slots']['TicketReason'].strip()
    # 校验是否为纯数字
    if re.fullmatch(r'\d+', ticket_reason):
        return {
            'dialogAction': {
                'type': 'ElicitSlot',
                'intentName': event['currentIntent']['name'],
                'slotToElicit': 'TicketReason',
                'message': {
                    'contentType': 'PlainText',
                    'content': '工单原因不能仅为数字,请补充具体故障描述,例如"笔记本无法开机"'
                },
                'slots': event['currentIntent']['slots']
            }
        }
    # 校验通过,继续后续流程
    return {
        'dialogAction': {
            'type': 'Delegate',
            'slots': event['currentIntent']['slots']
        }
    }

如果你使用的是Lex V2版本,只需调整参数获取路径:从event['sessionState']['intent']['slots']中读取工单原因槽位值即可,核心校验逻辑无需修改。

  1. 回到Lex的提交工单意图配置页,开启对话代码钩子选项,关联刚才创建的Lambda函数
  2. 保存配置后重新构建机器人即可生效

内容的提问来源于stack exchange,提问作者Rehan CH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:15:01