メッセージ
Messages の例
Messages API のリクエストとレスポンスの例
利用可能なパラメータの完全なドキュメントについては、API リファレンスを参照してください。
基本的なリクエストとレスポンス
JSON
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "こんにちは!"
}
],
"model": "claude-3-5-sonnet-20240620",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 6
}
}
複数の会話ターン
Messages API はステートレスです。つまり、常に完全な会話履歴を API に送信する必要があります。このパターンを使用して、時間の経過とともに会話を構築できます。以前の会話ターンは、必ずしも実際に Claude から発信される必要はありません。合成の assistant
メッセージを使用できます。
Shell
#!/bin/sh
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-5-sonnet-20240620",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "こんにちは、Claude"},
{"role": "assistant", "content": "こんにちは!"},
{"role": "user", "content": "LLM について説明してもらえますか?"}
]
}'
Python
import anthropic
message = anthropic.Anthropic().messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[
{"role": "user", "content": "こんにちは、Claude"},
{"role": "assistant", "content": "こんにちは!"},
{"role": "user", "content": "LLM について説明してもらえますか?"}
],
)
print(message)
TypeScript
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic();
await anthropic.messages.create({
model: 'claude-3-5-sonnet-20240620',
max_tokens: 1024,
messages: [
{"role": "user", "content": "こんにちは、Claude"},
{"role": "assistant", "content": "こんにちは!"},
{"role": "user", "content": "LLM について説明してもらえますか?"}
]
});
JSON
{
"id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "もちろん、喜んで説明します..."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 30,
"output_tokens": 309
}
}
Claude の口に言葉を入れる
入力メッセージリストの最後の位置で、Claude の応答の一部を事前に入力できます。これを使用して、Claude の応答を形作ることができます。以下の例では、"max_tokens": 1
を使用して、Claude から単一の多肢選択回答を取得しています。
JSON
{
"id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "C"
}
],
"model": "claude-3-5-sonnet-20240620",
"stop_reason": "max_tokens",
"stop_sequence": null,
"usage": {
"input_tokens": 42,
"output_tokens": 1
}
}
ビジョン
Claude は、リクエストでテキストと画像の両方を読み取ることができます。現在、画像の base64
ソースタイプと、image/jpeg
、image/png
、image/gif
、および image/webp
のメディアタイプをサポートしています。詳細については、ビジョンガイドを参照してください。
JSON
{
"id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "この画像はアリ、具体的にはアリのクローズアップ写真を示しています。アリの頭部、触角、脚が明確に見えるように、詳細に写されています。この画像は、マクロレンズを使用して極端なクローズアップの視点を捉え、アリの複雑な細部と特徴を捉えることに焦点を当てています。"
}
],
"model": "claude-3-5-sonnet-20240620",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 1551,
"output_tokens": 71
}
}
ツールの使用と JSON モード
Messages API でツールを使用する方法の例については、ガイドを参照してください。