Примеры сообщений
Примеры запросов и ответов для API сообщений
Полную документацию по доступным параметрам смотрите в справочнике по API.
Базовый запрос и ответ
{
"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
}
}
Несколько диалоговых оборотов
API сообщений не сохраняет состояние, что означает, что вы всегда отправляете полную историю диалога в API. Вы можете использовать этот шаблон для построения диалога с течением времени. Более ранние диалоговые обороты не обязательно должны исходить от Claude - вы можете использовать синтетические сообщения assistant
.
#!/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": "Привет, Claude"},
{"role": "assistant", "content": "Привет!"},
{"role": "user", "content": "Можешь рассказать мне про LLM?"}
]
}'
import anthropic
message = anthropic.Anthropic().messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": "Привет, Claude"},
{"role": "assistant", "content": "Привет!"},
{"role": "user", "content": "Можешь рассказать мне про LLM?"}
],
)
print(message)
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": "Привет, Claude"},
{"role": "assistant", "content": "Привет!"},
{"role": "user", "content": "Можешь рассказать мне про LLM?"}
]
});
{
"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 один ответ с множественным выбором.
{
"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
. Подробнее смотрите в нашем руководстве по зрению.
{
"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
Примеры использования инструментов с API сообщений смотрите в нашем руководстве.