@genkit-ai/compat-oai
Version:
Genkit AI framework plugin for OpenAI APIs.
108 lines • 3.61 kB
JavaScript
;
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");
function createResolver(pluginOptions) {
return async (client, actionType, actionName) => {
if (actionType === "model") {
const modelRef = (0, import_deepseek.deepSeekModelRef)({
name: actionName
});
return (0, import_model.defineCompatOpenAIModel)({
name: modelRef.name,
client,
pluginOptions,
modelRef,
requestBuilder: import_deepseek.deepSeekRequestBuilder
});
} else {
import_logging.logger.warn("Only model actions are supported by the DeepSeek plugin");
return void 0;
}
};
}
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: 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."
});
}
const pluginOptions = { name: "deepseek", ...options };
return (0, import__.openAICompatible)({
name: "deepseek",
baseURL: "https://api.deepseek.com",
apiKey,
...options,
initializer: async (client) => {
return Object.values(import_deepseek.SUPPORTED_DEEPSEEK_MODELS).map(
(modelRef) => (0, import_model.defineCompatOpenAIModel)({
name: modelRef.name,
client,
pluginOptions,
modelRef,
requestBuilder: import_deepseek.deepSeekRequestBuilder
})
);
},
resolver: createResolver(pluginOptions),
listActions
});
}
const model = ((name, config) => {
return (0, import_deepseek.deepSeekModelRef)({
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