Anthropic Vertex TypeScript API Library

This library provides convenient access to the Anthropic Vertex API.
For the non-Vertex Anthropic API at api.anthropic.com, see @anthropic-ai/sdk
.
Installation
npm install @anthropic-ai/vertex-sdk
Usage
import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
const client = new AnthropicVertex();
async function main() {
const result = await client.messages.create({
messages: [
{
role: 'user',
content: 'Hey Claude!',
},
],
model: 'claude-3-5-sonnet-v2@20241022',
max_tokens: 300,
});
console.log(JSON.stringify(result, null, 2));
}
main();
For more details on how to use the SDK, see the README.md for the main Anthropic SDK which this library extends.
Authentication
This library supports multiple authentication methods:
Default authentication
The client automatically uses the default Google Cloud authentication flow:
import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
const client = new AnthropicVertex({
region: 'us-central1',
projectId: 'my-project-id',
});
Custom GoogleAuth configuration
You can customize the authentication using the googleAuth
option:
import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
import { GoogleAuth } from 'google-auth-library';
const client = new AnthropicVertex({
googleAuth: new GoogleAuth({
scopes: 'https://www.googleapis.com/auth/cloud-platform',
keyFile: '/path/to/service-account.json',
}),
region: 'us-central1',
projectId: 'my-project-id',
});
Pre-configured AuthClient
For advanced use cases like impersonation, you can provide a pre-configured AuthClient
:
import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
import { GoogleAuth, Impersonated } from 'google-auth-library';
const authClient = new Impersonated({
sourceClient: await new GoogleAuth().getClient(),
targetPrincipal: 'impersonated-account@projectID.iam.gserviceaccount.com',
lifetime: 30,
delegates: [],
targetScopes: ['https://www.googleapis.com/auth/cloud-platform'],
});
const client = new AnthropicVertex({
authClient,
region: 'us-central1',
projectId: 'my-project-id',
});
Requirements
TypeScript >= 4.5 is supported.
The following runtimes are supported:
- Node.js 18 LTS or later (non-EOL) versions.
- Deno v1.28.0 or higher, using
import { AnthropicVertex } from "npm:@anthropic-ai/vertex-sdk"
.
- Bun 1.0 or later.
- Cloudflare Workers.
- Vercel Edge Runtime.
- Jest 28 or greater with the
"node"
environment ("jsdom"
is not supported at this time).
- Nitro v2.6 or greater.
Note that React Native is not supported at this time.
If you are interested in other runtime environments, please open or upvote an issue on GitHub.
0.14.0 (2024-02-13)
Full Changelog: sdk-v0.13.1...sdk-v0.14.0
⚠ BREAKING CHANGES
- api: messages is generally available (#287)
Features