UNPKG

@genkit-ai/vertexai

Version:

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

1 lines 3.38 kB
{"version":3,"sources":["../../../src/rerankers/v2/index.ts"],"sourcesContent":["/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n genkitPluginV2,\n ResolvableAction,\n type GenkitPluginV2,\n} from 'genkit/plugin';\nimport { ActionType } from 'genkit/registry';\n\nimport { RerankerReference, z } from 'genkit';\nimport { getDerivedOptions } from '../../common/utils.mjs';\nimport * as reranker from './reranker.mjs';\nimport { type VertexRerankerPluginOptions } from './types.mjs';\nexport { type VertexRerankerPluginOptions };\n\nasync function initializer(pluginOptions: VertexRerankerPluginOptions) {\n const clientOptions = await getDerivedOptions(\n 'vertex-rerankers',\n pluginOptions\n );\n return await reranker.listKnownRerankers(clientOptions);\n}\n\nasync function resolver(\n actionType: ActionType,\n actionName: string,\n pluginOptions: VertexRerankerPluginOptions\n): Promise<ResolvableAction | undefined> {\n const clientOptions = await getDerivedOptions(\n 'vertex-rerankers',\n pluginOptions\n );\n if (actionType == 'reranker' && reranker.isRerankerModelName(actionName)) {\n return reranker.defineReranker(actionName, clientOptions);\n }\n return undefined;\n}\n\n/**\n * Add Google Cloud Vertex AI Rerankers API to Genkit.\n */\nexport function vertexRerankersPlugin(\n options: VertexRerankerPluginOptions\n): GenkitPluginV2 {\n return genkitPluginV2({\n name: 'vertex-rerankers',\n init: async () => await initializer(options),\n resolve: async (actionType: ActionType, actionName: string) =>\n await resolver(actionType, actionName, options),\n });\n}\n\nexport type VertexAIRerankers = {\n (pluginOptions?: VertexRerankerPluginOptions): GenkitPluginV2;\n reranker(\n name: reranker.KnownModels | (reranker.RerankerModelName & {}),\n config?: reranker.VertexRerankerConfig\n ): RerankerReference<reranker.VertexRerankerConfigSchemaType>;\n};\n\nexport const vertexRerankers = vertexRerankersPlugin as VertexAIRerankers;\n(vertexRerankers as any).reranker = (\n name: string,\n config?: any\n): RerankerReference<z.ZodTypeAny> => {\n return reranker.reranker(name, config);\n};\n"],"mappings":"AAgBA;AAAA,EACE;AAAA,OAGK;AAIP,SAAS,yBAAyB;AAClC,YAAY,cAAc;AAI1B,eAAe,YAAY,eAA4C;AACrE,QAAM,gBAAgB,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AACA,SAAO,MAAM,SAAS,mBAAmB,aAAa;AACxD;AAEA,eAAe,SACb,YACA,YACA,eACuC;AACvC,QAAM,gBAAgB,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AACA,MAAI,cAAc,cAAc,SAAS,oBAAoB,UAAU,GAAG;AACxE,WAAO,SAAS,eAAe,YAAY,aAAa;AAAA,EAC1D;AACA,SAAO;AACT;AAKO,SAAS,sBACd,SACgB;AAChB,SAAO,eAAe;AAAA,IACpB,MAAM;AAAA,IACN,MAAM,YAAY,MAAM,YAAY,OAAO;AAAA,IAC3C,SAAS,OAAO,YAAwB,eACtC,MAAM,SAAS,YAAY,YAAY,OAAO;AAAA,EAClD,CAAC;AACH;AAUO,MAAM,kBAAkB;AAC9B,gBAAwB,WAAW,CAClC,MACA,WACoC;AACpC,SAAO,SAAS,SAAS,MAAM,MAAM;AACvC;","names":[]}