ai-utils.js
Version:
Build AI applications, chatbots, and agents with JavaScript and TypeScript.
58 lines (57 loc) • 1.74 kB
JavaScript
import { validateChatPrompt } from "./chat/validateChatPrompt.js";
export 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: [],
});
export const ChatToOpenAIChatPromptMapping = () => ({
map: (chatPrompt) => {
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: [],
});