UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

63 lines (62 loc) 2.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChatToOpenAIChatPromptMapping = exports.InstructionToOpenAIChatPromptMapping = void 0; const validateChatPrompt_js_1 = require("./chat/validateChatPrompt.cjs"); const InstructionToOpenAIChatPromptMapping = () => ({ map: (instruction) => { const messages = []; if (instruction.system != null) { messages.push({ role: "system", content: instruction.system, }); } messages.push({ role: "user", content: instruction.instruction, }); return messages; }, stopTokens: [], }); exports.InstructionToOpenAIChatPromptMapping = InstructionToOpenAIChatPromptMapping; const ChatToOpenAIChatPromptMapping = () => ({ map: (chatPrompt) => { (0, validateChatPrompt_js_1.validateChatPrompt)(chatPrompt); const messages = []; for (let i = 0; i < chatPrompt.length; i++) { const message = chatPrompt[i]; // system message: if (i === 0 && "system" in message && typeof message.system === "string") { messages.push({ role: "system", content: message.system, }); continue; } // user message if ("user" in message) { messages.push({ role: "user", content: message.user, }); continue; } // ai message: if ("ai" in message) { messages.push({ role: "assistant", content: message.ai, }); continue; } // unsupported message: throw new Error(`Unsupported message: ${JSON.stringify(message)}`); } return messages; }, stopTokens: [], }); exports.ChatToOpenAIChatPromptMapping = ChatToOpenAIChatPromptMapping;