From 78c6c33cf32bfa9407561ca1547b1625b2809452 Mon Sep 17 00:00:00 2001 From: mintyfrankie <77310871+mintyfrankie@users.noreply.github.com> Date: Tue, 10 Sep 2024 18:14:06 +0200 Subject: [PATCH] fix(service): fix how translation layer handles previous messages - instead of keeping only the last message, it now concat previous messages and feed to Dify API as string. - current implementation is still not optimal, as it does not sollicit Dify's conversation_id. --- src/service.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/service.ts b/src/service.ts index 105509f..965373d 100644 --- a/src/service.ts +++ b/src/service.ts @@ -24,9 +24,13 @@ export class TranslationService { openAIRequest: OpenAIApiRequest, applicationName: string, ): DifyApiRequest { - const lastMessage = openAIRequest.messages[openAIRequest.messages.length - 1]; + const formattedMessages = openAIRequest.messages + .map((msg) => `${msg.role}: ${msg.content}`) + .join('\n'); + const query = `Chat history:\n${formattedMessages}\n\nPlease respond to the last message.`; + return { - query: lastMessage.content, + query: query, inputs: {}, user: applicationName, response_mode: 'blocking',