Google Colab で Claude 3 の Vision を試す
「Google Colab」で「Claude 3」の「Vision」を試したので、まとめました。
前回
1. Vision
「Claude 3」には、画像を理解して分析できる「Vision」機能が搭載されています。テキストと画像の両方を入力して会話することができます。
2. Visionの入力画像
2-1. 画像サイズ
画像の長辺が 1568ピクセル を超える場合、または画像が約 1600トークン を超える場合、サイズ制限内になるまでアスペクト比を維持しながら縮小されます。入力画像が大きすぎてサイズ変更する場合、time-to-first-tokenのレイテンシが増加します。特定のエッジに 200ピクセル未満の非常に小さな画像があると、パフォーマンスが低下する可能性があります。
以下は、一般的なアスペクト比に合わせてサイズ変更されない、APIで受け入れられる最大画像サイズです。
2-2. 画像のベストプラクティス
画像のベストプラクティスは、次のとおりです。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) パッケージのインストール。
# パッケージのインストール
!pip install anthropic
(2) 環境変数の準備。
左端の鍵アイコンで「ANTHROPIC_API_KEY」を設定してからセルを実行してください。
# 環境変数の準備 (左端の鍵アイコンでANTHROPIC_API_KEYを設定)
import os
from google.colab import userdata
os.environ["ANTHROPIC_API_KEY"] = userdata.get("ANTHROPIC_API_KEY")
(3) クライアントの準備。
import anthropic
# クライアントの準備
client = anthropic.Anthropic()
(4) 画像の準備。
from IPython.display import Image, display
import base64
import httpx
# 画像の取得
image1_url = "https://assets.st-note.com/img/1702501354256-Ehom23FmWr.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.b64encode(httpx.get(image1_url).content).decode("utf-8")
# 確認
display(Image(url=f"data:image/jpeg;base64,{image1_data}"))
(4) 推論の実行。
# 推論の実行
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": image1_media_type,
"data": image1_data,
},
},
{
"type": "text",
"text": "この画像を説明してください"
}
],
}
],
)
print(message)