- AWS 生成式 AI 教程
- AWS 上的生成式 AI - 首頁
- AWS 上的生成式 AI - 簡介
- AWS 上的生成式 AI - 環境設定
- AWS 上的生成式 AI - SageMaker
- AWS 上的生成式 AI - Lambda
- AWS 上的生成式 AI - EC2
- AWS 上的生成式 AI - 監控和最佳化
- AWS 上的生成式 AI 資源
- AWS 上的生成式 AI - 快速指南
- AWS 上的生成式 AI - 資源
- AWS 上的生成式 AI - 討論
AWS 上的生成式 AI - Lambda
AWS Lambda 是 AWS 提供的一項無伺服器計算服務,允許您在無需管理伺服器的情況下執行程式碼。它會根據傳入請求自動擴充套件您的應用程式,並確保僅在需要時才使用資源。
對於生成式 AI,AWS Lambda 可用於執行諸如即時推理、資料預處理或協調 AI 模型工作流等任務。您還可以將其與其他 AWS 服務(如SageMaker 或 EC2)整合,以構建用於訓練、部署和執行生成式 AI 模型的完整解決方案。
AWS Lambda 用於生成式 AI 的功能
以下是 AWS Lambda 的一些關鍵功能,這些功能可用於訓練和部署生成式 AI:
- 無伺服器執行
- 事件驅動架構
- 自動縮放
- 成本效益
在生成式 AI 中使用 AWS Lambda 進行即時推理
AWS Lambda 可與經過訓練的生成式 AI 模型一起使用,以提供即時推理功能。
例如,一旦使用SageMaker部署了文字生成模型,就可以使用 Lambda 在收到新輸入時即時觸發預測。這對於聊天機器人和內容建立等應用程式非常有用。
實施示例
以下示例將展示如何使用 AWS Lambda 和 SageMaker 進行即時文字生成。
步驟 1:先決條件
實施此示例的先決條件:
- 已部署為端點的 AWS SageMaker 模型。例如:GPT-2 模型
- 已安裝 boto3 庫,您可以使用它從 Lambda 函式呼叫 AWS SageMaker 端點。
如果您尚未安裝 boto3,可以使用以下命令安裝:
pip install boto3
步驟 2:AWS Lambda 函式
以下是呼叫 SageMaker 端點以進行即時文字生成的 AWS Lambda 函式的 Python 程式碼:
import boto3
import json
# Initialize the SageMaker runtime client
sagemaker_runtime = boto3.client('sagemaker-runtime')
# Specify your SageMaker endpoint name
# The model must already be deployed
SAGEMAKER_ENDPOINT_NAME = 'your-sagemaker-endpoint-name'
def lambda_handler(event, context):
# Extract input text from the Lambda event
# For example, user input from a chatbot
user_input = event.get('input_text', 'Hello!')
# Create a payload for the SageMaker model
# Prepare input for text generation
payload = json.dumps({'inputs': user_input})
# Call the SageMaker endpoint to generate text
response = sagemaker_runtime.invoke_endpoint(
EndpointName = SAGEMAKER_ENDPOINT_NAME,
ContentType = 'application/json',
Body = payload
)
# Parse the response from SageMaker
result = json.loads(response['Body'].read().decode())
# Extract the generated text from the response
generated_text = result.get('generated_text', 'No response generated.')
# Return the generated text to the user (as Lambda output)
return {
'statusCode': 200,
'body': json.dumps({
'input_text': user_input,
'generated_text': generated_text
})
}
步驟 3:部署 Lambda 函式
編寫 Lambda 函式後,我們需要將其部署。請按照以下步驟操作:
建立 Lambda 函式
- 首先,登入到您的AWS Lambda
- 建立一個新的 Lambda 函式,並選擇 Python 3.x 作為執行時。
- 最後,將上面的程式碼新增到您的 Lambda 函式中。
設定 IAM 許可權
Lambda 函式的執行角色應具有呼叫 SageMaker 端點的許可權。為此,請附加AmazonSageMakerFullAccess或具有 SageMaker 訪問許可權的自定義角色。
步驟 4:測試 Lambda 函式
現在,您可以透過傳遞包含input_text欄位的示例事件來手動測試 Lambda 函式,如下所示:
{
"input_text": "Once upon a time"
}
輸出將是一個 JSON 響應,其中包含使用者的輸入和模型生成的文字,如下所示:
{
"input_text": "Once upon a time",
"generated_text": "Once upon a time, there was a king who ruled a beautiful kingdom..."
}
廣告