@inngest/ai
Version:
33 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.gemini = void 0;
const env_1 = require("../env");
/**
* Create a Gemini model using the OpenAI chat format.
*
* By default it targets the `https://generativelanguage.googleapis.com/v1beta/`
* base URL.
*/
const gemini = (options) => {
const authKey = options.apiKey || (0, env_1.processEnv)(env_1.envKeys.GeminiApiKey) || "";
// Ensure we add a trailing slash to our base URL if it doesn't have one,
// otherwise we'll replace the path instead of appending it.
let baseUrl = options.baseUrl || "https://generativelanguage.googleapis.com/v1beta/";
if (!baseUrl.endsWith("/")) {
baseUrl += "/";
}
const url = new URL(`models/${options.model}:generateContent?key=${authKey}`, baseUrl);
const headers = {};
return {
url: url.href,
authKey,
format: "gemini",
onCall(_, body) {
Object.assign(body, options.defaultParameters);
},
headers,
options,
};
};
exports.gemini = gemini;
//# sourceMappingURL=gemini.js.map