È necessaria una configurazione aggiuntiva per utilizzare gli SDK Client di Anthropic tramite una piattaforma partner. Se stai utilizzando Amazon Bedrock, consulta questa guida; se stai utilizzando Google Cloud Vertex AI, consulta questa guida.

Python

Repository GitHub della libreria Python

Esempio:

Python
import anthropic

client = anthropic.Anthropic(
    # defaults to 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)

Stringhe model accettate:

# Claude 4 Models
"claude-opus-4-20250514"
"claude-opus-4-0"  # alias
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  # alias

# Claude 3.7 Models
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  # alias

# Claude 3.5 Models
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  # alias
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  # alias
"claude-3-5-sonnet-20240620"  # previous version

# Claude 3 Models
"claude-3-opus-20240229"
"claude-3-opus-latest"  # alias
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

TypeScript

Repository GitHub della libreria TypeScript

Sebbene questa libreria sia in TypeScript, può essere utilizzata anche nelle librerie JavaScript.

Esempio:

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

const anthropic = new Anthropic({
  apiKey: 'my_api_key', // defaults to 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);

Stringhe model accettate:

// Claude 4 Models
"claude-opus-4-20250514"
"claude-opus-4-0"  // alias
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  // alias

// Claude 3.7 Models
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  // alias

// Claude 3.5 Models
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  // alias
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  // alias
"claude-3-5-sonnet-20240620"  // previous version

// Claude 3 Models
"claude-3-opus-20240229"
"claude-3-opus-latest"  // alias
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

Java

Repository GitHub della libreria Java

Esempio:

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);

Valori enum model:

// Claude 4 Models
Model.CLAUDE_OPUS_4_0
Model.CLAUDE_OPUS_4_20250514
Model.CLAUDE_SONNET_4_0
Model.CLAUDE_SONNET_4_20250514

// Claude 3.7 Models
Model.CLAUDE_3_7_SONNET_LATEST
Model.CLAUDE_3_7_SONNET_20250219

// Claude 3.5 Models
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 Models
Model.CLAUDE_3_OPUS_LATEST
Model.CLAUDE_3_OPUS_20240229
Model.CLAUDE_3_SONNET_20240229
Model.CLAUDE_3_HAIKU_20240307

Go

Repository GitHub della libreria Go

Esempio:

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)
}

Costanti Model:

// Claude 4 Models
anthropic.ModelClaudeOpus4_0
anthropic.ModelClaudeOpus4_20250514
anthropic.ModelClaudeSonnet4_0
anthropic.ModelClaudeSonnet4_20250514

// Claude 3.7 Models
anthropic.ModelClaude3_7SonnetLatest
anthropic.ModelClaude3_7Sonnet20250219

// Claude 3.5 Models
anthropic.ModelClaude3_5HaikuLatest
anthropic.ModelClaude3_5Haiku20241022
anthropic.ModelClaude3_5SonnetLatest
anthropic.ModelClaude3_5Sonnet20241022
anthropic.ModelClaude_3_5_Sonnet_20240620

// Claude 3 Models
anthropic.ModelClaude3OpusLatest
anthropic.ModelClaude_3_Opus_20240229
anthropic.ModelClaude_3_Sonnet_20240229
anthropic.ModelClaude_3_Haiku_20240307

Ruby

Repository GitHub della libreria Ruby

Esempio:

ruby
require "bundler/setup"
require "anthropic"

anthropic = Anthropic::Client.new(
  api_key: "my_api_key" # defaults to 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)

Stringhe model accettate:

# Claude 4 Models
:"claude-opus-4-20250514"
:"claude-opus-4-0"  # alias
:"claude-sonnet-4-20250514"
:"claude-sonnet-4-0"  # alias

# Claude 3.7 Models
:"claude-3-7-sonnet-20250219"
:"claude-3-7-sonnet-latest"  # alias

# Claude 3.5 Models
:"claude-3-5-haiku-20241022"
:"claude-3-5-haiku-latest"  # alias
:"claude-3-5-sonnet-20241022"
:"claude-3-5-sonnet-latest"  # alias
:"claude-3-5-sonnet-20240620"  # previous version

# Claude 3 Models
:"claude-3-opus-20240229"
:"claude-3-opus-latest"  # alias
:"claude-3-sonnet-20240229"
:"claude-3-haiku-20240307"

Namespace beta negli SDK client

Ogni SDK ha un namespace beta disponibile. Questo viene utilizzato per le nuove funzionalità che Anthropic rilascia in versione beta. Utilizzalo insieme agli header beta per utilizzare queste funzionalità.

import anthropic

client = anthropic.Anthropic(
    # defaults to 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)