Для использования клиентских SDK Anthropic через партнерскую платформу требуется дополнительная настройка. Если вы используете Amazon Bedrock, см. это руководство; если вы используете Google Cloud Vertex AI, см. это руководство.

Python

Репозиторий библиотеки Python на GitHub

Пример:

Python
import anthropic

client = anthropic.Anthropic(
    # по умолчанию os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"}
    ]
)
print(message.content)

Принимаемые строки model:

# Модели Claude 4
"claude-opus-4-20250514"
"claude-opus-4-0"  # псевдоним
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  # псевдоним

# Модели Claude 3.7
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  # псевдоним

# Модели Claude 3.5
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  # псевдоним
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  # псевдоним
"claude-3-5-sonnet-20240620"  # предыдущая версия

# Модели Claude 3
"claude-3-opus-20240229"
"claude-3-opus-latest"  # псевдоним
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

TypeScript

Репозиторий библиотеки TypeScript на GitHub

Хотя эта библиотека написана на TypeScript, она также может использоваться в библиотеках JavaScript.

Пример:

TypeScript
import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: 'my_api_key', // по умолчанию process.env["ANTHROPIC_API_KEY"]
});

const msg = await anthropic.messages.create({
  model: "claude-sonnet-4-20250514",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello, Claude" }],
});
console.log(msg);

Принимаемые строки model:

// Модели Claude 4
"claude-opus-4-20250514"
"claude-opus-4-0"  // псевдоним
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  // псевдоним

// Модели Claude 3.7
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  // псевдоним

// Модели Claude 3.5
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  // псевдоним
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  // псевдоним
"claude-3-5-sonnet-20240620"  // предыдущая версия

// Модели Claude 3
"claude-3-opus-20240229"
"claude-3-opus-latest"  // псевдоним
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

Java

Репозиторий библиотеки Java на GitHub

Пример:

Java
import com.anthropic.models.Message;
import com.anthropic.models.MessageCreateParams;
import com.anthropic.models.Model;

MessageCreateParams params = MessageCreateParams.builder()
    .maxTokens(1024L)
    .addUserMessage("Hello, Claude")
    .model(Model.CLAUDE_SONNET_4_0)
    .build();
Message message = client.messages().create(params);

Значения перечисления model:

// Модели Claude 4
Model.CLAUDE_OPUS_4_0
Model.CLAUDE_OPUS_4_20250514
Model.CLAUDE_SONNET_4_0
Model.CLAUDE_SONNET_4_20250514

// Модели Claude 3.7
Model.CLAUDE_3_7_SONNET_LATEST
Model.CLAUDE_3_7_SONNET_20250219

// Модели Claude 3.5
Model.CLAUDE_3_5_HAIKU_LATEST
Model.CLAUDE_3_5_HAIKU_20241022
Model.CLAUDE_3_5_SONNET_LATEST
Model.CLAUDE_3_5_SONNET_20241022
Model.CLAUDE_3_5_SONNET_20240620

// Модели Claude 3
Model.CLAUDE_3_OPUS_LATEST
Model.CLAUDE_3_OPUS_20240229
Model.CLAUDE_3_SONNET_20240229
Model.CLAUDE_3_HAIKU_20240307

Go

Репозиторий библиотеки Go на GitHub

Пример:

Go
package main

import (
	"context"
	"fmt"
	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
		Model:     anthropic.F(anthropic.ModelClaudeSonnet4_0),
		MaxTokens: anthropic.F(int64(1024)),
		Messages: anthropic.F([]anthropic.MessageParam{
			anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
		}),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", message.Content)
}

Константы Model:

// Модели Claude 4
anthropic.ModelClaudeOpus4_0
anthropic.ModelClaudeOpus4_20250514
anthropic.ModelClaudeSonnet4_0
anthropic.ModelClaudeSonnet4_20250514

// Модели Claude 3.7
anthropic.ModelClaude3_7SonnetLatest
anthropic.ModelClaude3_7Sonnet20250219

// Модели Claude 3.5
anthropic.ModelClaude3_5HaikuLatest
anthropic.ModelClaude3_5Haiku20241022
anthropic.ModelClaude3_5SonnetLatest
anthropic.ModelClaude3_5Sonnet20241022
anthropic.ModelClaude_3_5_Sonnet_20240620

// Модели Claude 3
anthropic.ModelClaude3OpusLatest
anthropic.ModelClaude_3_Opus_20240229
anthropic.ModelClaude_3_Sonnet_20240229
anthropic.ModelClaude_3_Haiku_20240307

Ruby

Репозиторий библиотеки Ruby на GitHub

Пример:

ruby
require "bundler/setup"
require "anthropic"

anthropic = Anthropic::Client.new(
  api_key: "my_api_key" # по умолчанию ENV["ANTHROPIC_API_KEY"]
)

message =
  anthropic.messages.create(
    max_tokens: 1024,
    messages: [{
      role: "user",
      content: "Hello, Claude"
    }],
    model: "claude-sonnet-4-20250514"
  )

puts(message.content)

Принимаемые строки model:

# Модели Claude 4
:"claude-opus-4-20250514"
:"claude-opus-4-0"  # псевдоним
:"claude-sonnet-4-20250514"
:"claude-sonnet-4-0"  # псевдоним

# Модели Claude 3.7
:"claude-3-7-sonnet-20250219"
:"claude-3-7-sonnet-latest"  # псевдоним

# Модели Claude 3.5
:"claude-3-5-haiku-20241022"
:"claude-3-5-haiku-latest"  # псевдоним
:"claude-3-5-sonnet-20241022"
:"claude-3-5-sonnet-latest"  # псевдоним
:"claude-3-5-sonnet-20240620"  # предыдущая версия

# Модели Claude 3
:"claude-3-opus-20240229"
:"claude-3-opus-latest"  # псевдоним
:"claude-3-sonnet-20240229"
:"claude-3-haiku-20240307"

Пространство имен beta в клиентских SDK

Каждый SDK имеет доступное пространство имен beta. Оно используется для новых функций, которые Anthropic выпускает в бета-версии. Используйте это в сочетании с бета-заголовками для использования этих функций.

import anthropic

client = anthropic.Anthropic(
    # по умолчанию os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.beta.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"}
    ],
    betas=["beta-feature-name"]
)
print(message.content)