@genkit-ai/compat-oai
Version:
Genkit AI framework plugin for OpenAI APIs.
104 lines • 3.46 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");
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