@n8n/n8n-nodes-langchain
Version:
32 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.searchModels = searchModels;
const ai_utilities_1 = require("@n8n/ai-utilities");
const model_discovery_1 = require("@n8n/ai-utilities/model-discovery");
const config_1 = require("@n8n/config");
const di_1 = require("@n8n/di");
const helpers_1 = require("../../../../utils/helpers");
const credentials_1 = require("../../../vendors/OpenAi/helpers/credentials");
async function searchModels(filter) {
const credentials = await this.getCredentials('openAiApi');
const baseUrlOverride = this.getNodeParameter('options.baseURL', '');
if (baseUrlOverride) {
(0, credentials_1.assertOpenAiCredentialAllowsUrl)(this.getNode(), credentials, baseUrlOverride);
}
const baseURL = baseUrlOverride || credentials.url || 'https://api.openai.com/v1';
const { openAiDefaultHeaders } = di_1.Container.get(config_1.AiConfig);
const lookup = this.helpers.getSecureEgressFilter().createSecureLookup();
const headers = (0, helpers_1.mergeCustomHeaders)(credentials, openAiDefaultHeaders ?? {});
const models = await (0, model_discovery_1.listOpenAiModels)({
apiKey: credentials.apiKey,
baseURL,
headers,
fetch: async (input, init) => await (0, ai_utilities_1.proxyFetch)({ input, init, lookup }),
});
return {
results: models
.filter((model) => !filter || model.id.toLowerCase().includes(filter.toLowerCase()))
.map((model) => ({ name: model.id, value: model.id })),
};
}
//# sourceMappingURL=loadModels.js.map