Anthropic SDK
MarkdownФормат Messages для Claude и других моделей: официальные SDK Anthropic и всё, что построено на них.
Полное руководство
Установка
pip install anthropicnpm install @anthropic-ai/sdkПодключение
Базовый адрес — https://api.ailoot.ai без /v1: SDK сам добавит /v1/messages. Переменные окружения: ANTHROPIC_BASE_URL и ANTHROPIC_API_KEY.
import anthropic
import os
client = anthropic.Anthropic(max_retries=0,
base_url="https://api.ailoot.ai", # без /v1: SDK сам добавит /v1/messages
api_key=os.environ["AILOOT_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Объясни в двух предложениях, что такое API."}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ maxRetries: 0,
baseURL: "https://api.ailoot.ai", // без /v1
apiKey: process.env.AILOOT_API_KEY,
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Объясни в двух предложениях, что такое API." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);Потоковый ответ
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Расскажи короткую историю"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Код потока работает как с оригинальным API, но платный текст приходит одним блоком после расчёта стоимости, а не по словам. Служебные строки : ping в долгом ответе SDK пропускает сам.
Размышления (extended thinking)
msg = client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
messages=[{"role": "user", "content": "Докажи, что простых чисел бесконечно много"}],
)Не только Claude
Через /v1/messages доступны и другие модели: GPT, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok, Gemini — всего 776 идентификаторов. Это удобно для клиентов, которые умеют только формат Anthropic.
msg = client.messages.create(
model="deepseek-v4-pro",
max_tokens=2048,
messages=[{"role": "user", "content": "Напиши функцию сортировки слиянием на Go"}],
)Остались вопросы? Пришлите Request ID и описание — поможем разобраться.Написать в поддержку