anthropic-vertex-ai-provider
v1.0.2
Published
[fry69/anthropic-vertex-ai-provider](https://github.com/fry69/anthropic-vertex-ai-provider) is a community provider that uses Anthropic models through Vertex AI to provide language model support for the Vercel AI SDK.
Downloads
22
Readme
Vercel AI SDK - Anthropic Vertex Provider
fry69/anthropic-vertex-ai-provider is a community provider that uses Anthropic models through Vertex AI to provide language model support for the Vercel AI SDK.
This provider is a community-maintained module and is not officially supported by Vercel. It was forked from the Anthropic Vertex Provider pull request and updated.
Compatibility
The AnthropicVertex provider was tested with Vercel AI SDK version 3.1.0
. To avoid TypeScript errors it is recommended to use version 3.3.0
or higher.
Example scripts
Example scripts how to use this provider can be found in the examples folder.
Setup
The AnthropicVertex provider is available in the anthropic-vertex-ai-provider
module. You can install it with:
npm install anthropic-vertex-ai-provider
# or
pnpm add anthropic-vertex-ai-provider
# or
yarn add anthropic-vertex-ai-provider
# or
bun add anthropic-vertex-ai-provider
Provider Instance
You can import the default provider instance anthropicVertex
from anthropic-vertex-ai-provider
:
import { anthropicVertex } from 'anthropic-vertex-ai-provider';
If you need a customized setup, you can import createAnthropicVertex
from anthropic-vertex-ai-provider
and create a provider instance with your settings:
import { createAnthropicVertex } from 'anthropic-vertex-ai-provider';
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-provider';
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
| Model | Image Input | Object Generation | Tool Usage | Tool Streaming |
| ---------------------------- | ------------------ | ------------------ | ------------------ | ------------------ |
| claude-3-5-sonnet@20240620
| :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| claude-3-opus@20240229
| :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| claude-3-sonnet@20240229
| :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| claude-3-haiku@20240307
| :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
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.
Tests
To run the tests, make sure you have installed the dependencies with:
pnpm install
Then, run the tests with:
pnpm test
All tests will get run automatically on every push to the repository to ensure regressions will get caught as early as possible.