From ce2ed4c9d5188cb12448cf56ce87782a59e05366 Mon Sep 17 00:00:00 2001 From: Taras Glek Date: Sun, 7 Jul 2024 16:45:33 +0200 Subject: [PATCH 1/2] simplify message format --- src/lib/ChatCraftMessage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ChatCraftMessage.ts b/src/lib/ChatCraftMessage.ts index 66daffea..0d7790a7 100644 --- a/src/lib/ChatCraftMessage.ts +++ b/src/lib/ChatCraftMessage.ts @@ -118,7 +118,7 @@ export class ChatCraftMessage { case "ai": return { role: "assistant", content: text }; case "human": - return { role: "user", content }; + return { role: "user", content: this.imageUrls.length ? content : text }; case "system": return { role: "system", content: text }; case "function": From 76bc1d44b1577fbda9a8833b7af5ac5556c05309 Mon Sep 17 00:00:00 2001 From: Taras Glek Date: Sun, 7 Jul 2024 17:01:36 +0200 Subject: [PATCH 2/2] more verbose --- src/lib/ChatCraftMessage.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ChatCraftMessage.ts b/src/lib/ChatCraftMessage.ts index 0d7790a7..c7fdb425 100644 --- a/src/lib/ChatCraftMessage.ts +++ b/src/lib/ChatCraftMessage.ts @@ -114,11 +114,15 @@ export class ChatCraftMessage { }); } + // avoid sending multipart messages if there is only text + // this is to expand api provider compatibility + const userContent = this.imageUrls.length || content.length > 1 ? content : text; + switch (this.type) { case "ai": return { role: "assistant", content: text }; case "human": - return { role: "user", content: this.imageUrls.length ? content : text }; + return { role: "user", content: userContent }; case "system": return { role: "system", content: text }; case "function":