Bladeren bron

fix: baidu error_code 336006

change the summary role from system to user
HyiKi 1 jaar geleden
bovenliggende
commit
9ab45c3969
1 gewijzigde bestanden met toevoegingen van 13 en 6 verwijderingen
  1. 13 6
      app/client/platforms/baidu.ts

+ 13 - 6
app/client/platforms/baidu.ts

@@ -77,17 +77,24 @@ export class ErnieApi implements LLMApi {
 
   async chat(options: ChatOptions) {
     const messages = options.messages.map((v) => ({
-      // "error_code": 336006, "error_msg": "the role of message with odd index in the messages must be assistant",
-      role: v.role === "system" ? "assistant" : 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),
     }));
 
     // "error_code": 336006, "error_msg": "the length of messages must be an odd number",
     if (messages.length % 2 === 0) {
-      messages.unshift({
-        role: "user",
-        content: " ",
-      });
+      if (messages.at(0)?.role === "user") {
+        messages.splice(1, 0, {
+          role: "assistant",
+          content: " ",
+        });
+      } else {
+        messages.unshift({
+          role: "user",
+          content: " ",
+        });
+      }
     }
 
     const modelConfig = {