UNPKG

ollama-api-facade-js

Version:

OllamaApiFacadeJS is an open-source library for running an ExpressJS backend as an Ollama API using LangChainJS. It supports local language models services like LmStudio and allows seamless message conversion and streaming between LangChainJS and Ollama c

55 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addSystemMessage = addSystemMessage; exports.lastHumanMessage = lastHumanMessage; exports.replaceLastHumanMessage = replaceLastHumanMessage; const messages_1 = require("@langchain/core/messages"); /** * Adds a system message to the chat history. * * @param {BaseMessage[]} messages - The message array to extend. * @param {string} message - The system message content. */ function addSystemMessage(messages, message) { if (messages.length === 0) { messages.push(new messages_1.SystemMessage(message)); } else if (messages[0] instanceof messages_1.SystemMessage) { messages[0] = new messages_1.SystemMessage(message); } else { messages = [new messages_1.SystemMessage(message), ...messages]; } return messages; } /** * Returns the last human message from the chat history. * * @param {BaseMessage[]} messages - The message array to search. * @returns {HumanMessage | undefined} - The last human message or undefined if not found. */ function lastHumanMessage(messages) { for (let i = messages.length - 1; i >= 0; i--) { if (messages[i] instanceof messages_1.HumanMessage) { return messages[i]; } } } /** * Replaces the last human message in the chat history with a new one. * * @param {BaseMessage[]} messages - The message array to modify. * @param {HumanMessage} newMessage - The new human message to replace the last one. * @returns {BaseMessage[]} - The updated message array. */ function replaceLastHumanMessage(messages, newMessage) { for (let i = messages.length - 1; i >= 0; i--) { if (messages[i] instanceof messages_1.HumanMessage) { messages[i] = newMessage; return messages; } } messages.push(newMessage); return messages; } //# sourceMappingURL=MessageUtils.js.map