chore: completion payload format

This commit is contained in:
jialin
2024-10-25 12:15:26 +08:00
parent 870ffa9dc1
commit ba49fa6c88
8 changed files with 105 additions and 104 deletions
+63
View File
@@ -1,3 +1,6 @@
import { map } from 'lodash';
import { MessageItem } from './types';
export const Roles = {
User: 'user',
Assistant: 'assistant',
@@ -40,3 +43,63 @@ export const formatMessageParams = (messageList: any[]) => {
});
return result;
};
export const generateMessagesByListContent = (messageList: any[]) => {
if (!messageList.length) return [];
return messageList.map((item: MessageItem) => {
const content = map(
item.imgs,
(img: { uid: string | number; dataUrl: string }) => {
return {
type: 'image_url',
image_url: {
url: img.dataUrl
}
};
}
);
if (item.content) {
content.push({
type: 'text',
text: item.content
});
}
return {
role: item.role,
content: content
};
});
};
export const generateMessages = (messageList: Omit<MessageItem, 'uid'>[]) => {
if (!messageList.length) return [];
const result: any[] = [];
messageList.forEach((item: Omit<MessageItem, 'uid'>) => {
if (item.imgs?.length) {
const imgList = item.imgs.map((img) => {
return {
type: 'image_url',
image_url: {
url: img.dataUrl
}
};
});
result.push({
role: item.role,
content: imgList
});
}
if (item.content) {
result.push({
role: item.role,
content: item.content
});
}
});
return result;
};