AnthropicVertex Provider

Anthropic for Google Vertex is also support by the AI SDK Google Vertex provider.

nalaso/anthropic-vertex-ai is a community provider that uses Anthropic models through Vertex AI to provide language model support for the AI SDK.

Setup

The AnthropicVertex provider is available in the anthropic-vertex-ai module. You can install it with:

pnpm
npm
yarn
pnpm add anthropic-vertex-ai

Provider Instance

You can import the default provider instance anthropicVertex from anthropic-vertex-ai:

import { anthropicVertex } from 'anthropic-vertex-ai';

If you need a customized setup, you can import createAnthropicVertex from anthropic-vertex-ai and create a provider instance with your settings:

import { createAnthropicVertex } from 'anthropic-vertex-ai';
const anthropicVertex = createAnthropicVertex({
region: 'us-central1',
projectId: 'your-project-id',
// other options
});

You can use the following optional settings to customize the AnthropicVertex provider instance:

  • region string

    Your Google Vertex region. Defaults to the GOOGLE_VERTEX_REGION environment variable.

  • projectId string

    Your Google Vertex project ID. Defaults to the GOOGLE_VERTEX_PROJECT_ID environment variable.

  • googleAuth GoogleAuth

    Optional. The Authentication options provided by google-auth-library.

  • baseURL string

    Use a different URL prefix for API calls, e.g., to use proxy servers. The default prefix is https://{region}-aiplatform.googleapis.com/v1.

  • headers Record<string,string>

    Custom headers to include in the requests.

  • fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>

    Custom fetch implementation. You can use it as a middleware to intercept requests, or to provide a custom fetch implementation for e.g., testing.

Language Models

You can create models that call the Anthropic API through Vertex AI using the provider instance. The first argument is the model ID, e.g., claude-3-sonnet@20240229:

const model = anthropicVertex('claude-3-sonnet@20240229');

Example: Generate Text

You can use AnthropicVertex language models to generate text with the generateText function:

import { anthropicVertex } from 'anthropic-vertex-ai';
import { generateText } from 'ai';
const { text } = await generateText({
model: anthropicVertex('claude-3-sonnet@20240229'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});

AnthropicVertex language models can also be used in the streamText, generateObject, and streamObject functions (see AI SDK Core for more information).

Model Capabilities

ModelImage InputObject GenerationTool UsageTool Streaming
claude-3-5-sonnet@20240620
claude-3-opus@20240229
claude-3-sonnet@20240229
claude-3-haiku@20240307

Environment Variables

To use the AnthropicVertex provider, you need to set up the following environment variables:

  • GOOGLE_VERTEX_REGION: Your Google Vertex region (e.g., 'us-central1')
  • GOOGLE_VERTEX_PROJECT_ID: Your Google Cloud project ID

Make sure to set these variables in your environment or in a .env file in your project root.

Authentication

The AnthropicVertex provider uses Google Cloud authentication. Make sure you have set up your Google Cloud credentials properly. You can either use a service account key file or default application credentials.

For more information on setting up authentication, refer to the Google Cloud Authentication guide.