SDKs
客户端 SDK
我们提供多种流行语言的客户端库,让您更轻松地使用 Anthropic API。
通过合作伙伴平台使用 Anthropic 的客户端 SDK 需要额外配置。如果您使用 Amazon Bedrock,请参阅此指南;如果您使用 Google Cloud Vertex AI,请参阅此指南。
Python
示例:
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)
接受的 model
字符串:
# Claude 4 Models
"claude-opus-4-1-20250805"
"claude-opus-4-1" # alias
"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" # deprecated
"claude-3-5-sonnet-latest" # alias
"claude-3-5-sonnet-20240620" # deprecated, previous version
# Claude 3 Models
"claude-3-opus-20240229" # deprecated
"claude-3-opus-latest" # alias
"claude-3-haiku-20240307"
TypeScript
虽然这个库是用 TypeScript 编写的,但它也可以在 JavaScript 库中使用。
示例:
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);
接受的 model
字符串:
// Claude 4 Models
"claude-opus-4-1-20250805"
"claude-opus-4-1" // alias
"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" // deprecated
"claude-3-5-sonnet-latest" // alias
"claude-3-5-sonnet-20240620" // deprecated, previous version
// Claude 3 Models
"claude-3-opus-20240229" // deprecated
"claude-3-opus-latest" // alias
"claude-3-haiku-20240307"
Java
示例:
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 Models
Model.CLAUDE_OPUS_4_1
Model.CLAUDE_OPUS_4_1_20250805
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 // deprecated
Model.CLAUDE_3_5_SONNET_20240620 // deprecated
// Claude 3 Models
Model.CLAUDE_3_OPUS_LATEST
Model.CLAUDE_3_OPUS_20240229 // deprecated
Model.CLAUDE_3_HAIKU_20240307
Go
示例:
Go
package main
import (
"context"
"fmt"
"github.com/anthropics/anthropic-sdk-go/option"
"github.com/anthropics/anthropic-sdk-go"
)
func main() {
client := anthropic.NewClient(
option.WithAPIKey("my-anthropic-api-key"),
)
message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
Model: anthropic.ModelClaudeSonnet4_0,
MaxTokens: 1024,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
},
})
if err != nil {
fmt.Printf("Error creating message: %v\n", err)
return
}
fmt.Printf("%+v\n", message.Content)
}
Model
常量:
// Claude 4 Models
anthropic.ModelClaudeOpus4_1
anthropic.ModelClaudeOpus4_1_20250805
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 // deprecated
anthropic.ModelClaude_3_5_Sonnet_20240620 // deprecated
// Claude 3 Models
anthropic.ModelClaude3OpusLatest
anthropic.ModelClaude_3_Opus_20240229 // deprecated
anthropic.ModelClaude_3_Haiku_20240307
Ruby
示例:
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)
接受的 model
字符串:
# Claude 4 Models
:"claude-opus-4-1-20250805"
:"claude-opus-4-1" # alias
:"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" # deprecated
:"claude-3-5-sonnet-latest" # alias
:"claude-3-5-sonnet-20240620" # deprecated, previous version
# Claude 3 Models
:"claude-3-opus-20240229" # deprecated
:"claude-3-opus-latest" # alias
:"claude-3-haiku-20240307"
PHP
PHP SDK 目前处于测试版。
示例:
PHP
<?php
use Anthropic\Client;
use Anthropic\Messages\MessageParam;
$client = new Client(
apiKey: getenv("ANTHROPIC_API_KEY") ?: "my-anthropic-api-key"
);
$message = $client->messages->create(
maxTokens: 1024,
messages: [MessageParam::with(role: "user", content: "Hello, Claude")],
model: "claude-sonnet-4-20250514",
);
var_dump($message->content);
接受的 model
字符串:
// Claude 4 Models
"claude-opus-4-1-20250805"
"claude-opus-4-1" // alias
"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" // deprecated
"claude-3-5-sonnet-latest" // alias
"claude-3-5-sonnet-20240620" // deprecated, previous version
// Claude 3 Models
"claude-3-opus-20240229" // deprecated
"claude-3-opus-latest" // alias
"claude-3-haiku-20240307"
Model
常量:
// Claude 4 Models
Model::CLAUDE_OPUS_4_1_20250805
Model::CLAUDE_OPUS_4_0 // alias
Model::CLAUDE_OPUS_4_20250514
Model::CLAUDE_SONNET_4_20250514
Model::CLAUDE_SONNET_4_0 // alias
// Claude 3.7 Models
Model::CLAUDE_3_7_SONNET_LATEST // alias
Model::CLAUDE_3_7_SONNET_20250219
// Claude 3.5 Models
Model::CLAUDE_3_5_HAIKU_LATEST // alias
Model::CLAUDE_3_5_HAIKU_20241022
Model::CLAUDE_3_5_SONNET_LATEST // alias
Model::CLAUDE_3_5_SONNET_20241022 // deprecated
Model::CLAUDE_3_5_SONNET_20240620 // deprecated, previous version
// Claude 3 Models
Model::CLAUDE_3_OPUS_LATEST // alias
Model::CLAUDE_3_OPUS_20240229 // deprecated
Model::CLAUDE_3_HAIKU_20240307
客户端 SDK 中的 Beta 命名空间
每个 SDK 都有一个可用的 beta
命名空间。这用于 Anthropic 以测试版发布的新功能。将其与测试版标头结合使用来使用这些功能。
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)
Was this page helpful?