Skip to content

Commit ca13601

Browse files
preserve non-system messages (opendatahub-io#6898)
1 parent a7b9975 commit ca13601

File tree

1 file changed

+16
-1
lines changed
  • packages/gen-ai/frontend/src/app/Chatbot/components/promptManagementModal

1 file changed

+16
-1
lines changed

packages/gen-ai/frontend/src/app/Chatbot/components/promptManagementModal/createPrompt.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,24 @@ export default function CreatePrompt({ onClose }: { onClose: () => void }): Reac
7070
}
7171
setNameError(null);
7272
setSaveError(null);
73+
const systemContent = dirtyPrompt.template;
74+
const existingMessages = dirtyPrompt.messages ?? [];
75+
76+
let messages = existingMessages;
77+
if (systemContent != null) {
78+
const systemIdx = existingMessages.findIndex((m) => m.role === 'system');
79+
if (systemIdx >= 0) {
80+
messages = existingMessages.map((m, i) =>
81+
i === systemIdx ? { ...m, content: systemContent } : m,
82+
);
83+
} else {
84+
messages = [{ role: 'system', content: systemContent }, ...existingMessages];
85+
}
86+
}
87+
7388
createPrompt({
7489
name: dirtyPrompt.name,
75-
messages: [{ role: 'system', content: dirtyPrompt.template || '' }],
90+
messages,
7691
// eslint-disable-next-line camelcase -- MLflow API uses snake_case
7792
commit_message: dirtyPrompt.commit_message,
7893
// eslint-disable-next-line camelcase -- MLflow API uses snake_case

0 commit comments

Comments
 (0)