利用 AWS Serverless 與 Claude 3 打造靈活的圖像分析

更新 發佈閱讀 11 分鐘

本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範

vocus|新世代的創作平台

AWS Lambda 流程解釋

  1. 取得圖像檔案
  2. 將圖像檔案轉換成 base64string
  3. 利用 prompt 與 base64string 向 Amazon Bedrock Claude 3請求
  4. Amazon Bedrock Claude 3 分析並將結果返回


Amazon Bedrock 是使用基礎模型建置和擴充生成式 AI 應用程式的最簡單方法,
其中就有 Anthropic AI 公司的最新高效能基礎模型 Claude 3,該家族不僅具備自然語言處理能力,更兼備電腦視覺能力,可應用於影像詮釋,敏感資訊偵測,以及影像中目標標註等視覺任務。


Claude 3 該系列分為三個層級規模:

Claude 3 Haiku 為基礎型號,特點是推理響應迅速

Claude 3 Sonnet 為均衡型號,在效能與成本間取得平衡

Claude 3 Opus 則是旗艦型號,將是目前最優秀的大型語言模型

詳細比較可以參閱參考文件[1]

在多項基準測試中 Claude 3 Opus 的表現超越了 GPT-4 和 Gemini Ultra 等領先模型,在處理大規模文本等能力上創下新的里程碑。


Claude 3 系列的主要優勢包括: 更高的智慧水平、加快的推理速率、跨模態處理能力、支援超長文本視窗的精準資訊提取、更佳的人機交互及可解釋性、更高的準確度與可靠度且具備成本效益。


在視覺理解、分析推理、計算任務等方面,Claude 3 展現出卓越的能力,相較以往著重自然語言的大型語言模型,其應用範疇更為深廣,被評價為目前市場上最具性價比的多模態AI模型。


設定部署環境

步驟1:啟用 Amazon Bedrock Claude 3

啟用步驟可參閱 Amazon Bedrock - Build Generative AI service

vocus|新世代的創作平台


步驟2:建立 Lambda 函數
步驟可參閱 Amazon Bedrock with Lambda Function

vocus|新世代的創作平台


步驟3 : 調整 Lambda 設置 timeout

vocus|新世代的創作平台


步驟4 : 調整 Lambda 執行權限 role

修改YOUR_IMAGE_BUCKET_NAME

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowInvokeModel",
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "*"
},
{
"Sid": "AllowGetObject",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
vocus|新世代的創作平台


步驟五:貼上程式碼,參考官方文件範例[2]


import boto3
import base64
import json

s3 = boto3.client('s3')
bedrock_runtime = boto3.client('bedrock-runtime', region_name='us-east-1')

def lambda_handler(event, context):
# 從事件中提取 S3 Bucket、object、prompt
bucket_name = event['Bucket']
object_key = event['Key']
prompt = event['prompt']

# 下載 S3 object
response = s3.get_object(Bucket=bucket_name, Key=object_key)
image_content = response['Body'].read()

# 將圖像編碼為 base64
base64_encoded_image = base64.b64encode(image_content).decode('utf-8')

# Bedrock 調用的 Payload,可以更改模型參數以獲得所需的結果。
payload = {
"modelId": "anthropic.claude-3-sonnet-20240229-v1:0",
"contentType": "application/json",
"accept": "application/json",
"body": {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 4096,
"top_k": 250,
"top_p": 0.999,
"temperature": 0,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": base64_encoded_image
}
},
{
"type": "text",
"text": prompt
}
]
}
]
}
}

# 將 payload 轉換為字節
body_bytes = json.dumps(payload['body']).encode('utf-8')

# 調用模型
response = bedrock_runtime.invoke_model(
body=body_bytes,
contentType=payload['contentType'],
accept=payload['accept'],
modelId=payload['modelId']
)

# 處理回應
response_body = json.loads(response['body'].read())
result = response_body['content'][0]['text']

return result


步驟六:執行測試

prompt 輸入需要提問的問題

輸入對應的 Bucket name 與 object key

{
"prompt": "YOUR_PROMPT(例如 XXXX)",
"Bucket": "YOUR_BUCKET_NAME",
"Key": "YOUR_S3_OBJECT_KEY"
}
vocus|新世代的創作平台


可以給出清楚資訊

vocus|新世代的創作平台


This famous painting is titled "Starry Night Over the Rhone" and was created by the renowned Dutch Post-Impressionist painter Vincent van Gogh in 1888. The work depicts an idealized night view over the Rhône River in the city of Arles, France, where van Gogh lived for a period. The indigo blue swirling sky filled with shining stars, the reflections of the lights on the rippling river, and the silhouettes of people strolling along the banks make this nocturnal scene one of van Gogh's most recognizable masterpieces. It captures his distinctive thick impasto brushwork and expressionistic style that vividly conveys the artist's emotional response to the nighttime landscape.




參考
[1] https://aws.amazon.com/tw/events/taiwan/techblogs/aws-claude-3-family/

[2] https://github.com/aws-samples/s3-image-analysis-lambda-claude3/tree/main




留言
avatar-img
西尼亞ming的沙龍
16會員
80內容數
西尼亞ming的沙龍的其他內容
2024/11/05
在ops-agent當中可以安裝 JVM 來收集 Java 參數,該工具主要收集 memory 以及 garbage collection 的參數,其中監控的選項有包含以下: jvm.classes.loaded jvm.gc.collections.count jvm.gc.collec
2024/11/05
在ops-agent當中可以安裝 JVM 來收集 Java 參數,該工具主要收集 memory 以及 garbage collection 的參數,其中監控的選項有包含以下: jvm.classes.loaded jvm.gc.collections.count jvm.gc.collec
2024/11/05
**Google Cloud 操作與 Audit Logs 說明** Google Cloud 作為純雲端服務提供商,所有操作均透過 HTTPS 網頁或 API 呼叫完成,並無「登入專案」的行為紀錄。不過,若使用 Google Workspace 管理使用者身份,則可以透過 Google
2024/11/05
**Google Cloud 操作與 Audit Logs 說明** Google Cloud 作為純雲端服務提供商,所有操作均透過 HTTPS 網頁或 API 呼叫完成,並無「登入專案」的行為紀錄。不過,若使用 Google Workspace 管理使用者身份,則可以透過 Google
2024/11/05
使用 Storage Transfer 服務是否能降低成本? Storage Transfer 的計價方式針對從 Cloud Storage 轉移至 Cloud Storage,除了一般費用外,Storage 移轉服務會使用 Cloud Storage rewrite 作業在 Cloud
2024/11/05
使用 Storage Transfer 服務是否能降低成本? Storage Transfer 的計價方式針對從 Cloud Storage 轉移至 Cloud Storage,除了一般費用外,Storage 移轉服務會使用 Cloud Storage rewrite 作業在 Cloud
看更多
你可能也想看
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 總結一下目前有的素材: AI說書 - 從0開始 - 103:資料集載入 AI說書 - 從0開始 - 104:定義資料清洗的函數 AI說書 - 從0開始 - 105
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 總結一下目前有的素材: AI說書 - 從0開始 - 103:資料集載入 AI說書 - 從0開始 - 104:定義資料清洗的函數 AI說書 - 從0開始 - 105
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - 從0開始 - 7,已經完成Colab Python環境配置。 針對Attention Layer的程式配置為: start_time =
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - 從0開始 - 7,已經完成Colab Python環境配置。 針對Attention Layer的程式配置為: start_time =
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News