選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

為您的機器人建立 AWS Lambda 函數

焦點模式
為您的機器人建立 AWS Lambda 函數 - Amazon Lex

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為您的 Amazon Lex V2 機器人建立 Lambda 函數, AWS Lambda 請從 存取 AWS Management Console 並建立新的函數。如需詳細資訊,請參閱AWS Lambda 開發人員指南 AWS Lambda。

  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/lambda/ 開啟 AWS Lambda 主控台。

  2. 選擇左側側邊欄中的函數

  3. 選取 Create function (建立函式)。

  4. 您可以選取從頭開始撰寫,以最小程式碼開頭、使用藍圖從清單中選取常見使用案例的範例程式碼,或選取容器映像來選取要為您的函數部署的容器映像。如果您從頭選取作者,請繼續執行下列步驟:

    1. 為您的函數提供有意義的函數名稱,以描述其功能。

    2. 執行時間下的下拉式選單中選擇語言,以寫入函數。

    3. 為您的函數選取指示集架構

    4. 根據預設,Lambda 會建立具有基本許可的角色。若要使用現有角色或使用 AWS 政策範本建立角色,請展開變更預設執行角色功能表,然後選取 選項。

    5. 展開進階設定選單以設定更多選項。

  5. 選取 Create function (建立函式)。

下圖顯示從頭開始建立新函數時看到的內容:

新的 Lambda 函數。

Lambda 處理常式函數會根據您使用的語言而有所不同。其至少需要 event JSON 物件做為引數。您可以在 Amazon Lex V2 event 提供的 中查看欄位AWS Lambda Lex V2 的輸入事件格式。修改處理常式函數,以最終傳回符合 中所述格式的 response JSON 物件AWS Lambda Lex V2 的回應格式

  • 完成撰寫函數後,請選取部署以允許使用函數。

請記住,您可以將每個機器人別名與最多一個 Lambda 函數建立關聯。不過,您可以在 Lambda 程式碼中為機器人定義所需的任意數量函數,並在 Lambda 處理常式函數中呼叫這些函數。例如,雖然相同機器人別名中的所有意圖必須呼叫相同的 Lambda 函數,但您可以建立路由器函數,以針對每個意圖啟用個別的函數。以下是您可以針對應用程式使用或修改的範例路由器函數:

import os import json import boto3 # reuse client connection as global client = boto3.client('lambda') def router(event): intent_name = event['sessionState']['intent']['name'] fn_name = os.environ.get(intent_name) print(f"Intent: {intent_name} -> Lambda: {fn_name}") if (fn_name): # invoke lambda and return result invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event)) print(invoke_response) payload = json.load(invoke_response['Payload']) return payload raise Exception('No environment variable for intent: ' + intent_name) def lambda_handler(event, context): print(event) response = router(event) return response

在機器人對話中使用 AWS Lambda 函數的時機

您可以在與使用者對話的下列時間點使用 Lambda 函數:

  • 在辨識意圖後的初始回應中。例如,在使用者說他們想要訂購比薩之後。

  • 從使用者引出槽值後。例如,在使用者告知機器人要訂購的比薩大小之後。

  • 在每次重試之間引出槽。例如,如果客戶不使用可辨識的比薩大小。

  • 確認意圖時。例如,確認披薩訂單時。

  • 實現意圖。例如,為比薩下訂單。

  • 滿足意圖之後,以及機器人關閉對話之前。例如,切換到訂購飲料的意圖。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。