Zero-dependency library for conditionally merging LLM (system) prompts into a single string.
npm install prompt-merge
import pm from "prompt-merge";
import { generateText } from "ai";
const result = await generateText({
model: openai("gpt-4o"),
system: pm(
"You are a helpful assistant.",
canTranslate && "You can translate text.",
{
"You support translating Japanese to English": canTranslateJapanese,
"You support translating German to English": canTranslateGerman,
}
),
messages,
});
This package was inspired by two packages I've used for managing classNames (which for all intents and purposes is what prompts are... just strings):