我在使用Rasa3时,触发了自己设定的意图:
- regex: user_input_name
examples: |
- (?<=查)[a-zA-Z0-9\u4e00-\u9fa5]{2,5}(?=的)
- intent: info_input_name
examples: |
- 请帮我查[张三](user_input_name)的性别
- 帮我查[张三](user_input_name)的性别
- 查[张三](user_input_name)的性别
- 我想查[张三](user_input_name)的性别
该意图绑定的action为:
class ActionGetSexByName(Action):
def name(self):
return 'action_getSexByName'
def run(self, dispatcher, tracker, domain):
usex = "男"
vall = tracker.get_slot("user_input_name")
print("slot:")
print(vall)
# curcor = Conn.getConn("")
# mysql = Database()
sql = "select usex from tuser where uname = '%s'"%vall
cursor = conn.cursor()
try:
cursor.execute(sql)
resul = cursor.fetchall()
usex=resul[0][0]
print("resul")
print(resul)
return [SlotSet("db_get_sex",usex)]
except Exception as e:
print("Exception:")
print(e)
conn.rollback
return [SlotSet("db_get_sex",usex)]
finally:
cursor.close()
但是每次触发该意图时都会触发三次Action 导致了我的运行速度极其缓慢,每次触发这个意图都要经过三次Action,访问三次数据库。