IndexError: tuple index out of range while running both rasa shell and actions.py file

IndexError: tuple index out of range while running both rasa shell and actions.py file

这是我的 actions.py 文件 :-

来自 rasa_sdk 导入操作、跟踪器 来自 rasa_sdk.executor 导入 CollectingDispatcher 来自 rasa_sdk.events 导入 SlotSet 导入 json

class动作时间(动作): 定义名称(自己): 打印('in self method') return'action_leave'

def run (self, dispatcher, tracker, domain):
    print('in run method')
    i = tracker.get_slot('name')
    print(i)
    with open('data1.txt') as json_file:
        data = json.loads(json_file.read())
        
        for result in data['current']:
            print('name'+ result['name'])
            if result['name'].lower() == i.lower():
                print('name Found')
                name = result['name']
                SickLeave = result['Sick Leaves']
                CasualLeave = result['Casual Leaves']
                TotalLeave = result['Total Leaves']
                LeavesLeft = result['Leaves Left']
    response ="""The Leaves left for name {} is {} . You took {} casual leaves and {} sick leaves.""".format(SickLeave,CasualLeave,TotalLeave)
    
    print(response)
                    
    dispatcher.utter_message(response)
    return [SlotSet('name',i)]
    

这是我的 json 文件:

{ “当前的”: [ { "name": "韦丹", 《病叶》:3、 “休闲叶”:1个, “总叶子”:4, “剩下的叶子”:14 }, { "name": "德巴斯米塔", 《病叶》:1、 “休闲叶”:5, “总叶子”:6, “剩下的叶子”:12 }, { "name": "阿科帕纳", 《病叶》:4, “休闲叶”:2, “总叶子”:6, “剩下的叶子”:12 }, { "name": "安吉塔", 《病叶》:1、 “休闲叶”:0, “总叶数”:1, “剩下的叶子”:17 }, { "name": "萨娜", “病叶”:0, “休闲叶”:6, “总叶子”:6, “剩下的叶子”:12 } ] }

当我运行同时使用 rasa 运行 操作和 rasa shell 时,我在尝试获取输入名称的休假详细信息时遇到此错误。 .

这是我的错误:

在运行方法中 德巴斯米塔 名称Vedant 姓名Debasmita 名称找到 姓名Akoparna 姓名Ankita 姓名Sana 处理 uri 时发生异常:'http://localhost:5055/webhook' 追溯(最近一次通话): 文件“c:\users\debasmita\anaconda3\envs\hr\lib\site-packages\sanic\app.py”,第 976 行,在 handle_request 响应 = 等待响应 webhook 中的文件“c:\users\debasmita\anaconda3\envs\hr\lib\site-packages\rasa_sdk\endpoint.py”,第 102 行 结果 = 等待 executor.run(action_call) 文件“c:\users\debasmita\anaconda3\envs\hr\lib\site-packages\rasa_sdk\executor.py”,第 387 行,在 运行 事件 = 动作(调度程序、跟踪器、域) 文件“E:\New\actions.py”,第 57 行,在 运行 response ="""留给 name {} 的叶子是 {} 。你拿了 {} 个临时假和 {} 个病假。""".format(SickLeave,CasualLeave,TotalLeave) IndexError:元组索引超出范围

请帮帮我。

问题似乎出在您尝试 'format' 结果的那一行:

response ="""The Leaves left for name {} is {} . You took {} casual leaves and {} sick leaves.""".format(SickLeave,CasualLeave,TotalLeave)

请注意,你有4个大括号,只有3个参数,所以使用'format'的替换过程无法完成,我重现错误如下:

请尝试添加缺少的参数以查看错误是否仍然存在。