APIMaster.ai

claude-api-python


title: Руководство по Claude API для Python 2026 | APIMaster.ai description: Как использовать Claude API с Python. Полные примеры с использованием Anthropic SDK и OpenAI-совместимого клиента: чат, стриминг, анализ изображений и вызов функций через APIMaster.ai.

Руководство по Claude API для Python

Это руководство охватывает использование Claude API в Python как с нативным Anthropic SDK, так и с OpenAI-совместимым клиентом. Все примеры работают с APIMaster.ai — замените свой базовый URL и API-ключ.

Установка

pip install anthropic          # Native Anthropic SDK
pip install openai             # OpenAI-compatible (optional)

Базовая настройка

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai",  # No /v1 for Anthropic SDK
)

Или с SDK OpenAI (проще, если вы уже используете OpenAI):

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai/v1",
)

Ваш первый вызов Claude API

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain the difference between lists and tuples in Python."}
    ],
)

print(message.content[0].text)

Системные промпты

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,
    system="You are a senior Python engineer. Be concise and use code examples.",
    messages=[
        {"role": "user", "content": "What's the fastest way to flatten a nested list?"}
    ],
)
print(response.content[0].text)

Многошаговая беседа

conversation = []

def chat(user_message):
    conversation.append({"role": "user", "content": user_message})
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=conversation,
    )
    assistant_message = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_message})
    return assistant_message

print(chat("What is a decorator in Python?"))
print(chat("Can you show me a practical example?"))

Потоковые ответы

Потоковая передача возвращает токены по мере их генерации — улучшает UX для длинных выводов:

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Write a Python web scraper using requests and BeautifulSoup."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
print()  # newline at end

Зрение: анализ изображений

Claude Sonnet и Opus поддерживают ввод изображений (base64 или URL):

import base64

with open("chart.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "Summarize what this chart shows."},
            ],
        }
    ],
)
print(response.content[0].text)

Использование инструментов (вызов функций)

tools = [
    {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "City name"},
            },
            "required": ["city"],
        },
    }
]

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=256,
    tools=tools,
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
)

# Check if Claude wants to call a tool
if response.stop_reason == "tool_use":
    tool_call = next(b for b in response.content if b.type == "tool_use")
    print(f"Tool: {tool_call.name}, Input: {tool_call.input}")

Асинхронное использование

import asyncio
import anthropic

async def main():
    client = anthropic.AsyncAnthropic(
        api_key="YOUR_APIMASTER_KEY",
        base_url="https://apimaster.ai",
    )
    response = await client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=256,
        messages=[{"role": "user", "content": "Hello!"}],
    )
    print(response.content[0].text)

asyncio.run(main())

Обработка ошибок

import anthropic

try:
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=256,
        messages=[{"role": "user", "content": "Hello"}],
    )
except anthropic.AuthenticationError:
    print("Invalid API key")
except anthropic.RateLimitError:
    print("Rate limit—add retry logic")
except anthropic.APIStatusError as e:
    print(f"API error {e.status_code}: {e.message}")

Выбор подходящей модели Claude для проектов на Python

Задача Модель Причина
Чат-боты, вопросы-ответы claude-haiku-4-5 Быстро + дешево
Генерация кода claude-sonnet-4-6 Лучший баланс
Сложные рассуждения claude-opus-4-8 Наивысшая точность
Анализ документов claude-sonnet-4-6 1M контекст

Получить доступ к Claude API

Зарегистрируйтесь на APIMaster.ai чтобы получить доступ к Claude API через единую конечную точку, с актуальными ценами и данными проверки отпечатков.

Часто задаваемые вопросы

Как установить библиотеку Claude API для Python? Выполните pip install anthropic для официального SDK, или pip install openai для использования OpenAI-совместимой конечной точки APIMaster с моделями Claude.

Какой Python SDK следует использовать для Claude API? SDK anthropic является официальным выбором и поддерживает все функции, специфичные для Claude (использование инструментов, зрение, стриминг). SDK openai работает через слой совместимости APIMaster — полезен, если вы уже используете OpenAI и хотите переключить модели.

Как стримить ответы Claude API в Python? Передайте stream=True с библиотекой openai, или используйте client.messages.stream() с SDK anthropic. Смотрите пример стриминга выше.

Поддерживает ли Claude API вызов функций (использование инструментов)? Да — Claude поддерживает использование инструментов как в нативном Anthropic SDK, так и через OpenAI-совместимую конечную точку APIMaster с использованием стандартного параметра tools.

Каков максимальный контекстный окно для Claude в Python? Claude Sonnet 4.6 и Opus 4.8 поддерживают по 1 млн токенов. Вы можете передавать очень длинные документы непосредственно в массив messages.

См. также: Цены на Claude API · Как получить ключ Claude API