fix: baidu error_code 336006

change the summary role from system to user
This commit is contained in:
HyiKi 2024-08-05 20:50:36 +08:00
parent d0e296adf8
commit 9ab45c3969
1 changed files with 13 additions and 6 deletions

View File

@ -77,18 +77,25 @@ export class ErnieApi implements LLMApi {
async chat(options: ChatOptions) { async chat(options: ChatOptions) {
const messages = options.messages.map((v) => ({ const messages = options.messages.map((v) => ({
// "error_code": 336006, "error_msg": "the role of message with odd index in the messages must be assistant", // "error_code": 336006, "error_msg": "the role of message with even index in the messages must be user or function",
role: v.role === "system" ? "assistant" : v.role, role: v.role === "system" ? "user" : v.role,
content: getMessageTextContent(v), content: getMessageTextContent(v),
})); }));
// "error_code": 336006, "error_msg": "the length of messages must be an odd number", // "error_code": 336006, "error_msg": "the length of messages must be an odd number",
if (messages.length % 2 === 0) { if (messages.length % 2 === 0) {
if (messages.at(0)?.role === "user") {
messages.splice(1, 0, {
role: "assistant",
content: " ",
});
} else {
messages.unshift({ messages.unshift({
role: "user", role: "user",
content: " ", content: " ",
}); });
} }
}
const modelConfig = { const modelConfig = {
...useAppConfig.getState().modelConfig, ...useAppConfig.getState().modelConfig,