Merge pull request #5194 from HyiKi/main

fix: baidu error_code 336006
This commit is contained in:
Lloyd Zhou 2024-08-06 13:56:44 +08:00 committed by GitHub
commit 690542145d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 7 deletions

View File

@ -77,16 +77,24 @@ 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) => ({
role: v.role, // "error_code": 336006, "error_msg": "the role of message with even index in the messages must be user or function",
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) {
messages.unshift({ if (messages.at(0)?.role === "user") {
role: "user", messages.splice(1, 0, {
content: " ", role: "assistant",
}); content: " ",
});
} else {
messages.unshift({
role: "user",
content: " ",
});
}
} }
const modelConfig = { const modelConfig = {

View File

@ -91,8 +91,9 @@ export class HunyuanApi implements LLMApi {
async chat(options: ChatOptions) { async chat(options: ChatOptions) {
const visionModel = isVisionModel(options.config.model); const visionModel = isVisionModel(options.config.model);
const messages = options.messages.map((v) => ({ const messages = options.messages.map((v, index) => ({
role: v.role, // "Messages 中 system 角色必须位于列表的最开始"
role: index !== 0 && v.role === "system" ? "user" : v.role,
content: visionModel ? v.content : getMessageTextContent(v), content: visionModel ? v.content : getMessageTextContent(v),
})); }));