Spaces:
Sleeping
Sleeping
File size: 796 Bytes
a1c5622 ba9285c a1c5622 ba9285c a1c5622 ba9285c a1c5622 0fd8446 a1c5622 ba9285c a1c5622 ba9285c a1c5622 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import { Message } from '@prisma/client';
import { MessageAssistantResponse, MessageUI } from '../types';
/**
* The Message we saved to database consists of a prompt and a response
* for the API to use, we need to break them to 2 messages, User and Assistant(if responded)
*/
export const convertDBMessageToAPIMessage = (
messages: Message[],
): MessageUI[] => {
return messages.reduce((acc, message) => {
const { id, mediaUrl, prompt, result } = message;
if (mediaUrl && prompt) {
acc.push({
id: id + '-user',
role: 'user',
content: prompt,
});
}
if (result) {
acc.push({
id: id + '-assistant',
role: 'assistant',
content: result?.payload.code,
});
}
return acc;
}, [] as MessageUI[]);
};
|