gpt4 book ai didi

amazon-web-services - 如何在 Lex 中不提示用户的情况下调用另一个意图?

转载 作者:行者123 更新时间:2023-12-03 16:05:06 26 4
gpt4 key购买 nike

是否可以在不提示用户的情况下从意图 A 的 lambda 函数触发意图 B?
假设用户输入了一些东西并触发了一个意图-A,在一些处理之后我想触发一些其他的意图,即意图-B。
用户还可以通过特定的话语直接触发 Intent-B。
任何帮助表示赞赏。

最佳答案

我最终在下面做了从意图-A 调用意图-B 而不向用户提示任何内容:

  • 授予对调用 lambda 函数的调用 lambda 函数的访问权限,即意图-A
  • 的 lambda 函数
  • 获取intent-B的后端lambda函数的名称
  • 使用 boto3
  • 调用包含所有输入的 lambda 函数
  • 响应将在响应对象的“Payload”键中
  • 使用 read() 方法获取响应
  • 在 ['dialogAction']['message']['content'] 中获取实际输出
  • 使用默认的 close() 方法返回

  • 导入 boto3
    client = boto3.client('lambda')
    data = {'messageVersion': '1.0', 'invocationSource': 'FulfillmentCodeHook', 'userId': '###',
    'sessionAttributes': {}, 'requestAttributes': None,
    'bot': {'name': '###', 'alias': '$LATEST', 'version': '$LATEST'},
    'outputDialogMode': 'Text',
    'currentIntent': {'name': '###', 'slots': {'###': '###'},
    'slotDetails': {'###': {'resolutions': [], 'originalValue': '###'}},
    'confirmationStatus': 'None'},
    'inputTranscript': '###'}
    response = client.invoke(
    FunctionName='{intent-B lambda function}',
    InvocationType='RequestResponse',
    Payload=json.dumps(data)
    )
    output = json.loads(response['Payload'].read())['dialogAction']['message']['content']

    关于amazon-web-services - 如何在 Lex 中不提示用户的情况下调用另一个意图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47587832/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com