@amanm/vertex-maas
v0.0.3
Published
Vertex MaaS provider for the Vercel AI SDK.
Downloads
310
Readme
@amanm/vertex-maas
Vertex MaaS provider for the Vercel AI SDK.
This provider targets Vertex AI models exposed via OpenAI-compatible endpoints and authenticates using Google Application Default Credentials (ADC) (service account JSON via GOOGLE_APPLICATION_CREDENTIALS, workload identity, etc.).
Requirements
- Node.js runtime (not Edge)
- ADC configured (commonly via
GOOGLE_APPLICATION_CREDENTIALS) - Set
GOOGLE_VERTEX_PROJECTandGOOGLE_VERTEX_LOCATION(or passproject/locationtocreateVertexMaaS)
Usage
import { generateText } from 'ai';
import { createVertexMaaS } from '@amanm/vertex-maas';
const vertex = createVertexMaaS({
project: process.env.GOOGLE_VERTEX_PROJECT!,
location: process.env.GOOGLE_VERTEX_LOCATION!, // e.g. "global" or "us-central1"
});
const result = await generateText({
model: vertex('glm-4.7'),
prompt: 'Explain Amdahl\\'s Law in simple terms.',
});Settings
baseURL: Optional. If set, used directly.project/location: Used to compute the Vertex OpenAI-compatible base URL ifbaseURLis not provided.apiKey: Optional. If set, uses a staticAuthorization: Bearer <apiKey>header (no ADC).googleAuthOptions: Optional. Passed togoogle-auth-libraryGoogleAuth.opencodeCompat: Optional. Iftrue, mapsfinish.finishReasonfrom{ unified, raw }tounifiedindoStream()for OpenCode.
OpenCode
OpenCode currently expects the model stream finishReason to be a string.
Set opencodeCompat: true in your OpenCode provider options:
{
"provider": {
"vertexmaas": {
"npm": "@amanm/vertex-maas",
"options": {
"project": "common-project-by-aman",
"location": "global",
"opencodeCompat": true
},
"models": {
"glm-4.7-maas": { "id": "zai-org/glm-4.7-maas" }
}
}
}
}