Anthropic SDK
Вызывайте совместимый интерфейс AGTCloud Messages через официальный SDK Anthropic для Python или TypeScript.
Официальный SDK Anthropic позволяет вызывать совместимый интерфейс Anthropic Messages в AGTCloud через собственный Base URL. Это руководство содержит установку и примеры непотоковых запросов и потокового вывода для Python и TypeScript.
Здесь рассматриваются только вызовы Messages. Доступность пакетной обработки, файлов, административных интерфейсов и других ресурсов платформы Anthropic проверяйте по Справочнику API AGTCloud.
Подготовка
Перед началом убедитесь, что вы:
- Создали ключ API AGTCloud на странице API Keys;
- Скопировали полный ID модели с поддержкой Anthropic Messages из каталога моделей;
- Подготовили серверную среду Python
3.9+или Node.js20+.
MODEL_ID и your-api-key здесь служат заполнителями. Не храните настоящие ключи API в браузерном клиенте, мобильном установщике или открытом репозитории.
Установка SDK
python -m pip install anthropicРекомендуется текущая стабильная версия с фиксацией используемой версии в файле блокировки зависимостей проекта.
Настройка ключа API
Сохраните ключ API в серверной переменной окружения:
export AGTCLOUD_API_KEY="your-api-key"Код читает учётные данные из AGTCLOUD_API_KEY и явно передаёт их SDK Anthropic. SDK отправляет их в заголовке x-api-key и автоматически добавляет заголовок anthropic-version, необходимый запросам Messages.
Создание клиента и отправка запроса
Для Base URL используйте API Origin, показанный на этой странице, без /v1 или /v1/messages. SDK сам добавит путь Messages.
import os
from anthropic import Anthropic
api_key = os.environ["AGTCLOUD_API_KEY"]
client = Anthropic(
api_key=api_key,
base_url="https://api.agtcloud.cn",
)
message = client.messages.create(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Представьтесь в трёх предложениях.",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)content в Anthropic Messages — массив блоков содержимого. При чтении текста проверяйте тип блока и не считайте, что ответ всегда содержит только один текстовый блок. Для инструментов, изображений и других типов содержимого используются разные структуры блоков.
Потоковый вывод
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["AGTCLOUD_API_KEY"],
base_url="https://api.agtcloud.cn",
)
with client.messages.stream(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Кратко объясните, что такое векторный поиск.",
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Потоковые Messages возвращаются событиями SSE. В рабочей среде также обрабатывайте обрывы соединения, тайм-ауты, ограничение частоты и отсутствие полного содержимого до завершения потока.
Частые вопросы
| Симптом | Что проверить |
|---|---|
401 или 403 | AGTCLOUD_API_KEY загружен, не содержит лишних пробелов, учётные данные ещё действуют |
404 или неверный путь | В base_url / baseURL указан только https://api.agtcloud.cn, без /v1 или полного эндпоинта |
| Модель недоступна | MODEL_ID заменён ID модели, видимой текущему ключу API и поддерживающей Anthropic Messages |
| Поле запроса не поддерживается | Возможности целевой модели и определение поля в Anthropic Messages Reference |
| TypeScript отказывается работать в браузере | SDK Anthropic по умолчанию рассчитан на сервер; не раскрывайте ключ API браузеру ради обхода ограничения |
| Потоковое содержимое пусто | Тип события и чтение text_delta или текстового потокового помощника SDK |
Это руководство использует x-api-key
Передайте ключ API AGTCloud в параметр api_key / apiKey SDK: SDK отправит x-api-key по протоколу Messages. Не добавляйте самостоятельно другой набор заголовков аутентификации в тот же вызов.
Следующие шаги
- Прочитайте Anthropic Messages API Reference о Content Blocks, инструментах, расширенном размышлении и всех полях ответа.
- Для проекта на SDK поставщика используйте миграцию SDK поставщиков, последовательно заменяя настройки и выполняя регрессионные проверки.
- При ошибках запроса прочитайте Аутентификация и ключ API и Ошибки и устранение неполадок.