UNPKG

@ai-sdk/google-vertex

Version:

The **[Google Vertex provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Vertex AI](https://cloud.google.com/vertex-ai) APIs.

47 lines (42 loc) 1.57 kB
import { resolve } from '@ai-sdk/provider-utils'; import { generateAuthToken as defaultGenerateAuthToken, type GoogleCredentials, } from '../../edge/google-vertex-auth-edge'; import { createVertexAnthropic as createVertexAnthropicOriginal, type GoogleVertexAnthropicProvider, type GoogleVertexAnthropicProviderSettings as GoogleVertexAnthropicProviderSettingsOriginal, } from '../google-vertex-anthropic-provider'; export type { GoogleVertexAnthropicProvider }; export interface GoogleVertexAnthropicProviderSettings extends GoogleVertexAnthropicProviderSettingsOriginal { /** * Optional. The Google credentials for the Google Cloud service account. If * not provided, the Google Vertex provider will use environment variables to * load the credentials. */ googleCredentials?: GoogleCredentials; /** * Optional. Override the Bearer token generator. Defaults to OAuth exchange * with `googleCredentials`. */ generateAuthToken?: () => Promise<string>; } export function createVertexAnthropic( options: GoogleVertexAnthropicProviderSettings = {}, ): GoogleVertexAnthropicProvider { const generateAuthToken = options.generateAuthToken ?? (() => defaultGenerateAuthToken(options.googleCredentials)); return createVertexAnthropicOriginal({ ...options, headers: async () => ({ Authorization: `Bearer ${await generateAuthToken()}`, ...(await resolve(options.headers)), }), }); } /** * Default Google Vertex AI Anthropic provider instance. */ export const vertexAnthropic = createVertexAnthropic();