Amazon Bedrock with Lambda Function

閱讀時間約 6 分鐘

Continue from here

Using Amazon Bedrock from Boto3


Prerequisites

Create an IAM role with access to Bedrock

Create an "IAM Role" that defines the permissions needed to call Bedrock API.

The policy for accessing permissions is defined as follows:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "bedrock:*",
"Resource": "*"
}
]
}

The policy definition of the trust relationship is as follows:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Principal": {
"Service": [
"lambda.amazonaws.com"
]
}
}
]
}


Lambda

raw-image

Execution role

raw-image

First of all, you need to confirm the Boto3 version, otherwise you will encounter "errorMessage: "Unknown service: 'bedrock-runtime'".

raw-image

How to check

import json
import botocore
import boto3

def lambda_handler(event, context):

print('botocore vertion: {0}'.format(botocore.__version__))
print('boto3 vertion: {0}'.format(boto3.__version__))

The result is the old version

raw-image

What can I do?

Get the latest Boto3 library and create a zip file.

$ mkdir boto3
$ pip install -t ./boto3 boto3
$ mv ./boto3 ./python
$ zip -r boto3-1.28.57.zip ./python


Create Lambda Layer

raw-image

Upload a file and select a supported version

raw-image

Add Layer to Lambda Function

raw-image

Select the just created upload

raw-image

Retesting

raw-image


sample code

import boto3
import json

bedrock_runtime = boto3.client('bedrock-runtime')

def lambda_handler(event, context):

prompt = event.get('prompt')

modelId = 'ai21.j2-mid-v1'
accept = 'application/json'
contentType = 'application/json'

body = json.dumps({
"prompt": prompt,
"maxTokens": 100,
"temperature": 0.7,
"topP": 1,
})

response = bedrock_runtime.invoke_model(
modelId=modelId,
accept=accept,
contentType=contentType,
body=body
)

response_body = json.loads(response.get('body').read())

outputText = response_body.get('completions')[0].get('data').get('text')

print(outputText)

Enter the text you want to ask

raw-image
{
"prompt": "Highest mountain in the world?"
}


Results

raw-image

I got a good answer.


avatar-img
16會員
80內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
西尼亞ming的沙龍 的其他內容
In the previous post, I tried it immediately from the Bedrock console. This time, I tried to use Bedrock from the programme, not from the console.
AWS Generative AI Service - Amazon Bedrock Launched April 2023 , 28 September 2023 Amazon Generative AI Service Amazon Bedrock is now officially relea
使AWS IAM User 可以查看 Billing 和 Cost Management console, 而不用登入Root User。 使用 Root User 登入 AWS 管理主控台 在導覽列上方右側點擊您的帳戶名稱,然後選擇 Account 頁面往下方,請選擇 IAM User
文/Ming Reserved Instance (RI) 相比較On-demand Instance,預留實例能夠節省高達 72% 的成本。你只需提交特定的Instance配置、Instance類型和可以是1年或3年的持續時間。 非常適合持續的工作負載,例如EC2、RDS、Elaticach
RI 是否會自動續約? RI是不會自動續訂, 但您可設置佇列,確保RI到期後會依照您的佇列, 以帳戶默認的付款方式購買RI。 詳細資訊請參考: https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ri-market-conc
每個 AWS 帳戶所對應的Availability Zones會有所不同,查看方式可以至EC2 Console 中的EC2 Dashboard。
In the previous post, I tried it immediately from the Bedrock console. This time, I tried to use Bedrock from the programme, not from the console.
AWS Generative AI Service - Amazon Bedrock Launched April 2023 , 28 September 2023 Amazon Generative AI Service Amazon Bedrock is now officially relea
使AWS IAM User 可以查看 Billing 和 Cost Management console, 而不用登入Root User。 使用 Root User 登入 AWS 管理主控台 在導覽列上方右側點擊您的帳戶名稱,然後選擇 Account 頁面往下方,請選擇 IAM User
文/Ming Reserved Instance (RI) 相比較On-demand Instance,預留實例能夠節省高達 72% 的成本。你只需提交特定的Instance配置、Instance類型和可以是1年或3年的持續時間。 非常適合持續的工作負載,例如EC2、RDS、Elaticach
RI 是否會自動續約? RI是不會自動續訂, 但您可設置佇列,確保RI到期後會依照您的佇列, 以帳戶默認的付款方式購買RI。 詳細資訊請參考: https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ri-market-conc
每個 AWS 帳戶所對應的Availability Zones會有所不同,查看方式可以至EC2 Console 中的EC2 Dashboard。
你可能也想看
Google News 追蹤
Thumbnail
AWS 架構師證照考古題 QUESTION 341 A company has an AWS Lambda function that needs read access to an Amazon S3 bucket that is located in the same AWS account.
Thumbnail
Web3钱包作为用户管理数字资产和身份的重要工具,正逐渐成为连接去中心化应用(DApps)的桥梁,那么,web3钱包的权限应该怎么设置比较好呢,接下来由小编给大家介绍一下web3钱包权限设置方法 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣
Thumbnail
雲端已經成為App開發的核心,而Amazon的AWS(Amazon Web Services是開發者常用的平台,可以幫助開發者建立、整合和擴展App。
Overview 1. Request Wallet Connection from Metamask get account function get account function 2. Set your smart contract address injected provide
Thumbnail
對 AWS Certified Cloud Practitioner 證照考試難度的看法、學習方法和考試內容的介紹。
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
Thumbnail
Anthropic Claude 3擁有先進的視覺能力,可以處理圖像數據並幫助使用者更好理解圖表、圖形和照片。通過使用Claude Messages API,開發虛擬助手應用程序以及為模型構建多模態prompt,你可以讓模型描述圖片中的內容。
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
AWS 架構師證照考古題 QUESTION 341 A company has an AWS Lambda function that needs read access to an Amazon S3 bucket that is located in the same AWS account.
Thumbnail
Web3钱包作为用户管理数字资产和身份的重要工具,正逐渐成为连接去中心化应用(DApps)的桥梁,那么,web3钱包的权限应该怎么设置比较好呢,接下来由小编给大家介绍一下web3钱包权限设置方法 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣
Thumbnail
雲端已經成為App開發的核心,而Amazon的AWS(Amazon Web Services是開發者常用的平台,可以幫助開發者建立、整合和擴展App。
Overview 1. Request Wallet Connection from Metamask get account function get account function 2. Set your smart contract address injected provide
Thumbnail
對 AWS Certified Cloud Practitioner 證照考試難度的看法、學習方法和考試內容的介紹。
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
Thumbnail
Anthropic Claude 3擁有先進的視覺能力,可以處理圖像數據並幫助使用者更好理解圖表、圖形和照片。通過使用Claude Messages API,開發虛擬助手應用程序以及為模型構建多模態prompt,你可以讓模型描述圖片中的內容。
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的