UNPKG

@genkit-ai/compat-oai

Version:

Genkit AI framework plugin for OpenAI APIs.

104 lines 3.46 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var deepseek_exports = {}; __export(deepseek_exports, { deepSeek: () => deepSeek, deepSeekPlugin: () => deepSeekPlugin, default: () => deepseek_default }); module.exports = __toCommonJS(deepseek_exports); var import_genkit = require("genkit"); var import_logging = require("genkit/logging"); var import__ = require("../index.js"); var import_model = require("../model.js"); var import_deepseek = require("./deepseek.js"); const resolver = async (ai, client, actionType, actionName) => { if (actionType === "model") { const modelRef = (0, import_deepseek.deepSeekModelRef)({ name: `deepseek/${actionName}` }); (0, import_model.defineCompatOpenAIModel)({ ai, name: modelRef.name, client, modelRef, requestBuilder: import_deepseek.deepSeekRequestBuilder }); } else { import_logging.logger.warn("Only model actions are supported by the DeepSeek plugin"); } }; const listActions = async (client) => { return await client.models.list().then( (response) => response.data.filter((model2) => model2.object === "model").map((model2) => { const modelRef = import_deepseek.SUPPORTED_DEEPSEEK_MODELS[model2.id] ?? (0, import_deepseek.deepSeekModelRef)({ name: `deepseek/${model2.id}` }); return (0, import_genkit.modelActionMetadata)({ name: modelRef.name, info: modelRef.info, configSchema: modelRef.configSchema }); }) ); }; function deepSeekPlugin(options) { const apiKey = options?.apiKey ?? process.env.DEEPSEEK_API_KEY; if (!apiKey) { throw new import_genkit.GenkitError({ status: "FAILED_PRECONDITION", message: "Please pass in the API key or set the DEEPSEEK_API_KEY environment variable." }); } return (0, import__.openAICompatible)({ name: "deepseek", baseURL: "https://api.deepseek.com", apiKey, ...options, initializer: async (ai, client) => { Object.values(import_deepseek.SUPPORTED_DEEPSEEK_MODELS).forEach( (modelRef) => (0, import_model.defineCompatOpenAIModel)({ ai, name: modelRef.name, client, modelRef, requestBuilder: import_deepseek.deepSeekRequestBuilder }) ); }, resolver, listActions }); } const model = (name, config) => { return (0, import_deepseek.deepSeekModelRef)({ name: `deepseek/${name}`, config }); }; const deepSeek = Object.assign(deepSeekPlugin, { model }); var deepseek_default = deepSeek; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { deepSeek, deepSeekPlugin }); //# sourceMappingURL=index.js.map