Messages
Messages 範例
Messages API 的請求和回應範例
請參閱 API 參考 以獲取可用參數的完整文檔。
基本請求和回應
JSON
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "你好!"
}
],
"model": "claude-3-opus-20240229",
"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-opus-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Claude"},
{"role": "assistant", "content": "你好!"},
{"role": "user", "content": "你能向我描述一下 LLM 嗎?"}
]
}'
Python
import anthropic
message = anthropic.Anthropic().messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, 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-opus-20240229',
max_tokens: 1024,
messages: [
{"role": "user", "content": "Hello, 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-opus-20240229",
"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-opus-20240229",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 1551,
"output_tokens": 71
}
}
工具使用和 JSON 模式
有關如何將工具與 Messages API 一起使用的示例,請參閱我們的指南。