Claude3 API Perl版

Claude API メモ。
Anthropic API Reference
エンドポイント
https://api.anthropic.com/v1/messages
モデル
| Model | API model name |
|---|---|
| Claude 3.5 Sonnet | claude-3-5-sonnet-20240620 |
| Claude 3 Opus | claude-3-opus-20240229 |
| Claude 3 Sonnet | claude-3-sonnet-20240229 |
| Claude 3 Haiku | claude-3-haiku-20240307 |
ドキュメントにあるCURLのリクエストとレスポンス
メッセージ
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-3-opus-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, world"}
]
}'
Anthropic APIへのすべてのリクエストには、APIキーを含むx-api-keyヘッダーを含める必要がある。
Send Image
{"role": "user", "content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "/9j/4AAQSkZJRg...",
}
},
{"type": "text", "text": "What is in this image?"}
]}
画像はBase64エンコードして送る。(改行付きBase64は不可)
送れるイメージタイプは、image/jpeg image/png image/gif image/webp
レスポンス
{
"content": [
{
"text": "Hi! My name is Claude.",
"type": "text"
}
],
"id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
"model": "claude-3-opus-20240229",
"role": "assistant",
"stop_reason": "end_turn",
"stop_sequence": null,
"type": "message",
"usage": {
"input_tokens": 10,
"output_tokens": 25
}
}
Perlサブルーチン
続きを読むにはパスワードを入力してください。