UNPKG

@genkit-ai/vertexai

Version:

Genkit AI framework plugin for Google Cloud Vertex AI APIs including Gemini APIs, Imagen, and more.

74 lines 2.12 kB
import { genkitPlugin } from "genkit/plugin"; import { getDerivedParams } from "../../common/index.mjs"; import { SUPPORTED_ANTHROPIC_MODELS, anthropicModel } from "./anthropic.mjs"; import { SUPPORTED_MISTRAL_MODELS, mistralModel } from "./mistral.mjs"; import { SUPPORTED_OPENAI_FORMAT_MODELS, modelGardenOpenaiCompatibleModel } from "./model_garden.mjs"; function vertexAIModelGarden(options) { return genkitPlugin("vertexAIModelGarden", async (ai) => { const { projectId, location, authClient } = await getDerivedParams(options); options.models.forEach((m) => { const anthropicEntry = Object.entries(SUPPORTED_ANTHROPIC_MODELS).find( ([_, value]) => value.name === m.name ); if (anthropicEntry) { anthropicModel(ai, anthropicEntry[0], projectId, location); return; } const mistralEntry = Object.entries(SUPPORTED_MISTRAL_MODELS).find( ([_, value]) => value.name === m.name ); if (mistralEntry) { mistralModel(ai, mistralEntry[0], projectId, location); return; } const openaiModel = Object.entries(SUPPORTED_OPENAI_FORMAT_MODELS).find( ([_, value]) => value.name === m.name ); if (openaiModel) { modelGardenOpenaiCompatibleModel( ai, openaiModel[0], projectId, location, authClient, options.openAiBaseUrlTemplate ); return; } throw new Error(`Unsupported model garden model: ${m.name}`); }); }); } import { claude35Sonnet, claude35SonnetV2, claude3Haiku, claude3Opus, claude3Sonnet, claudeOpus4, claudeOpus41, claudeSonnet4 } from "./anthropic.mjs"; import { codestral, mistralLarge, mistralNemo } from "./mistral.mjs"; import { llama3, llama31, llama32 } from "./model_garden.mjs"; export { claude35Sonnet, claude35SonnetV2, claude3Haiku, claude3Opus, claude3Sonnet, claudeOpus4, claudeOpus41, claudeSonnet4, codestral, llama3, llama31, llama32, mistralLarge, mistralNemo, vertexAIModelGarden }; //# sourceMappingURL=index.mjs.map