fix: chat request payload error, #2163
This commit is contained in:
@@ -101,9 +101,15 @@ const GroundLeft: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
});
|
});
|
||||||
}, [messageList, systemMessage, parameters]);
|
}, [messageList, systemMessage, parameters]);
|
||||||
|
|
||||||
|
const generateValidMessage = (message: Omit<MessageItem, 'uid'>) => {
|
||||||
|
if (!message.content && !message.imgs?.length && !message.audio?.length) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
};
|
||||||
|
|
||||||
const handleSendMessage = (message: Omit<MessageItem, 'uid'>) => {
|
const handleSendMessage = (message: Omit<MessageItem, 'uid'>) => {
|
||||||
const currentMessage =
|
const currentMessage = generateValidMessage(message);
|
||||||
message.content || message.imgs?.length ? message : undefined;
|
|
||||||
submitMessage({
|
submitMessage({
|
||||||
system: systemMessage
|
system: systemMessage
|
||||||
? { role: Roles.System, content: systemMessage }
|
? { role: Roles.System, content: systemMessage }
|
||||||
|
|||||||
@@ -240,15 +240,16 @@ const GroundReranker: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
requestToken.current?.cancel?.();
|
requestToken.current?.cancel?.();
|
||||||
requestToken.current = requestSource();
|
requestToken.current = requestSource();
|
||||||
|
|
||||||
|
const filledList = textList.filter((item) => item.text);
|
||||||
|
|
||||||
|
setTextList(filledList);
|
||||||
|
|
||||||
const result: any = await rerankerQuery(
|
const result: any = await rerankerQuery(
|
||||||
{
|
{
|
||||||
model: parameters.model,
|
model: parameters.model,
|
||||||
top_n: parameters.top_n,
|
top_n: parameters.top_n,
|
||||||
query: query,
|
query: query,
|
||||||
documents: [
|
documents: filledList.map((item) => item.text)
|
||||||
...textList.map((item) => item.text),
|
|
||||||
...fileList.map((item) => item.text)
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
token: requestToken.current.token
|
token: requestToken.current.token
|
||||||
@@ -266,15 +267,13 @@ const GroundReranker: React.FC<MessageProps> = forwardRef((props, ref) => {
|
|||||||
const minValue = sortList[0].relevance_score;
|
const minValue = sortList[0].relevance_score;
|
||||||
|
|
||||||
// reset state
|
// reset state
|
||||||
let newTextList = textList.map((item) => {
|
let newTextList = filledList.map((item) => {
|
||||||
item.percent = undefined;
|
item.percent = undefined;
|
||||||
item.score = undefined;
|
item.score = undefined;
|
||||||
item.rank = undefined;
|
item.rank = undefined;
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
|
|
||||||
let sortMap: number[] = [];
|
|
||||||
|
|
||||||
result.results?.forEach((item: any, sIndex: number) => {
|
result.results?.forEach((item: any, sIndex: number) => {
|
||||||
newTextList[item.index] = {
|
newTextList[item.index] = {
|
||||||
...newTextList[item.index],
|
...newTextList[item.index],
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import _, { map } from 'lodash';
|
import _ from 'lodash';
|
||||||
import { CREAT_IMAGE_API } from '../apis';
|
import { CREAT_IMAGE_API } from '../apis';
|
||||||
import { AudioData, MessageItem } from './types';
|
import { AudioData, MessageItem } from './types';
|
||||||
|
|
||||||
@@ -51,44 +51,31 @@ export const formatMessageParams = (messageList: any[]) => {
|
|||||||
export const generateMessagesByListContent = (messageList: any[]) => {
|
export const generateMessagesByListContent = (messageList: any[]) => {
|
||||||
if (!messageList.length) return [];
|
if (!messageList.length) return [];
|
||||||
return messageList.map((item: MessageItem) => {
|
return messageList.map((item: MessageItem) => {
|
||||||
if (item.imgs?.length) {
|
if (item.imgs?.length || item.audio?.length) {
|
||||||
const content = map(
|
const content: any[] = [];
|
||||||
item.imgs,
|
// image
|
||||||
(img: { uid: string | number; dataUrl: string }) => {
|
_.each(item.imgs, (img: { uid: string | number; dataUrl: string }) => {
|
||||||
return {
|
|
||||||
type: 'image_url',
|
|
||||||
image_url: {
|
|
||||||
url: img.dataUrl
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
if (item.content) {
|
|
||||||
content.push({
|
content.push({
|
||||||
type: 'text',
|
type: 'image_url',
|
||||||
text: item.content
|
image_url: {
|
||||||
|
url: img.dataUrl
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// audio
|
||||||
|
if (item.audio?.length) {
|
||||||
|
_.each(item.audio, (item: AudioData) => {
|
||||||
|
content.push({
|
||||||
|
type: 'input_audio',
|
||||||
|
input_audio: {
|
||||||
|
data: item.base64,
|
||||||
|
format: item.format
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
|
||||||
role: item.role,
|
|
||||||
content: content
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// audio
|
|
||||||
if (item.audio?.length) {
|
|
||||||
const content = map(item.audio, (item: AudioData) => {
|
|
||||||
return {
|
|
||||||
type: 'input_audio',
|
|
||||||
input_audio: {
|
|
||||||
data: item.base64,
|
|
||||||
format: item.format
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
if (item.content) {
|
if (item.content) {
|
||||||
content.push({
|
content.push({
|
||||||
type: 'text',
|
type: 'text',
|
||||||
@@ -106,37 +93,6 @@ export const generateMessagesByListContent = (messageList: any[]) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const OpenAIViewCode = {
|
export const OpenAIViewCode = {
|
||||||
chat: {
|
chat: {
|
||||||
api: 'chat/completions',
|
api: 'chat/completions',
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.hover-hidden {
|
.hover-hidden {
|
||||||
display: none;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user