UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

107 lines 3.95 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 LmLemonade_node_exports = {}; __export(LmLemonade_node_exports, { LmLemonade: () => LmLemonade }); module.exports = __toCommonJS(LmLemonade_node_exports); var import_openai = require("@langchain/openai"); var import_n8n_workflow = require("n8n-workflow"); var import_sharedFields = require("../../../utils/sharedFields"); var import_description = require("./description"); var import_n8nLlmFailedAttemptHandler = require("../n8nLlmFailedAttemptHandler"); var import_N8nLlmTracing = require("../N8nLlmTracing"); class LmLemonade { constructor() { this.description = { displayName: "Lemonade Model", name: "lmLemonade", icon: "file:lemonade.svg", group: ["transform"], version: 1, description: "Language Model Lemonade", defaults: { name: "Lemonade Model" }, codex: { categories: ["AI"], subcategories: { AI: ["Language Models", "Root Nodes"], "Language Models": ["Text Completion Models"] }, resources: { primaryDocumentation: [ { url: "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmlemonade/" } ] } }, inputs: [], outputs: [import_n8n_workflow.NodeConnectionTypes.AiLanguageModel], outputNames: ["Model"], ...import_description.lemonadeDescription, properties: [ (0, import_sharedFields.getConnectionHintNoticeField)([import_n8n_workflow.NodeConnectionTypes.AiChain, import_n8n_workflow.NodeConnectionTypes.AiAgent]), import_description.lemonadeModel, import_description.lemonadeOptions ] }; } async supplyData(itemIndex) { const credentials = await this.getCredentials("lemonadeApi"); const modelName = this.getNodeParameter("model", itemIndex); const options = this.getNodeParameter("options", itemIndex, {}); let stop; if (options.stop) { const stopSequences = options.stop.split(",").map((s) => s.trim()).filter((s) => s.length > 0); stop = stopSequences.length > 0 ? stopSequences : void 0; } const apiKey = credentials.apiKey || "lemonade-placeholder-key"; const configuration = { baseURL: credentials.baseUrl }; if (credentials.apiKey) { configuration.defaultHeaders = { Authorization: `Bearer ${credentials.apiKey}` }; } const model = new import_openai.OpenAI({ apiKey, model: modelName, temperature: options.temperature, topP: options.topP, frequencyPenalty: options.frequencyPenalty, presencePenalty: options.presencePenalty, maxTokens: options.maxTokens && options.maxTokens > 0 ? options.maxTokens : void 0, stop, configuration, callbacks: [new import_N8nLlmTracing.N8nLlmTracing(this)], onFailedAttempt: (0, import_n8nLlmFailedAttemptHandler.makeN8nLlmFailedAttemptHandler)(this) }); return { response: model }; } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { LmLemonade }); //# sourceMappingURL=LmLemonade.node.js.map