diff --git a/core/src/browser/extensions/engines/OAIEngine.ts b/core/src/browser/extensions/engines/OAIEngine.ts index 19a58a756..308e363f6 100644 --- a/core/src/browser/extensions/engines/OAIEngine.ts +++ b/core/src/browser/extensions/engines/OAIEngine.ts @@ -102,7 +102,7 @@ export abstract class OAIEngine extends AIEngine { events.emit(MessageEvent.OnMessageUpdate, message) }, error: async (err: any) => { - console.error(`Inference error: ${JSON.stringify(err, null, 2)}`) + console.error(`Inference error:`, err) if (this.isCancelled || message.content.length) { message.status = MessageStatus.Stopped events.emit(MessageEvent.OnMessageUpdate, message) diff --git a/web/hooks/useSendChatMessage.ts b/web/hooks/useSendChatMessage.ts index 6fd93f058..56637882d 100644 --- a/web/hooks/useSendChatMessage.ts +++ b/web/hooks/useSendChatMessage.ts @@ -102,7 +102,9 @@ export default function useSendChatMessage() { activeThreadRef.current.assistants[0].model ?? selectedModelRef.current, activeThreadRef.current, currentMessages - ).addSystemMessage(activeThreadRef.current.assistants[0]?.instructions) + ) + .addSystemMessage(activeThreadRef.current.assistants[0]?.instructions) + .removeLastAssistantMessage() const modelId = selectedModelRef.current?.id ?? diff --git a/web/utils/messageRequestBuilder.ts b/web/utils/messageRequestBuilder.ts index fadcb4f3b..949b4405c 100644 --- a/web/utils/messageRequestBuilder.ts +++ b/web/utils/messageRequestBuilder.ts @@ -117,6 +117,19 @@ export class MessageRequestBuilder { return this } + removeLastAssistantMessage() { + const lastMessageIndex = this.messages.length - 1 + if ( + this.messages.length && + this.messages[lastMessageIndex] && + this.messages[lastMessageIndex].role === ChatCompletionRole.Assistant + ) { + this.messages.pop() + } + + return this + } + build(): MessageRequest { return { id: this.msgId,