From c6e1bb55f984a192a959e30c6962df92667bc469 Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 20 Nov 2024 21:14:37 +0700 Subject: [PATCH 1/5] chore: remote models error handling --- core/src/browser/extensions/engines/helpers/sse.ts | 2 +- web/containers/ErrorMessage/index.tsx | 8 +++----- web/containers/Providers/EventHandler.tsx | 6 +++++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/src/browser/extensions/engines/helpers/sse.ts b/core/src/browser/extensions/engines/helpers/sse.ts index bd9945d3c..084267582 100644 --- a/core/src/browser/extensions/engines/helpers/sse.ts +++ b/core/src/browser/extensions/engines/helpers/sse.ts @@ -38,7 +38,7 @@ export function requestInference( errorCode = ErrorCode.InvalidApiKey } const error = { - message: data.error?.message ?? 'Error occurred.', + message: data.error?.message ?? data.message ?? 'Error occurred.', code: errorCode, } subscriber.error(error) diff --git a/web/containers/ErrorMessage/index.tsx b/web/containers/ErrorMessage/index.tsx index 18558c1d8..be26ad44a 100644 --- a/web/containers/ErrorMessage/index.tsx +++ b/web/containers/ErrorMessage/index.tsx @@ -27,8 +27,6 @@ const ErrorMessage = ({ message }: { message: ThreadMessage }) => { const getErrorTitle = () => { switch (message.error_code) { - case ErrorCode.Unknown: - return 'Apologies, something’s amiss!' case ErrorCode.InvalidApiKey: case ErrorCode.AuthenticationError: case ErrorCode.InvalidRequestError: @@ -55,17 +53,17 @@ const ErrorMessage = ({ message }: { message: ThreadMessage }) => { ) default: return ( - <> +

{message.content[0]?.text?.value && ( )} - +

) } } return ( -
+
{message.status === MessageStatus.Error && (
{ if ( !(await extensionManager From 4820218a112009e89f2fe8928f12b057d4d35ec3 Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 20 Nov 2024 21:36:08 +0700 Subject: [PATCH 2/5] fix: broken cohere API response transform --- extensions/inference-cohere-extension/src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/inference-cohere-extension/src/index.ts b/extensions/inference-cohere-extension/src/index.ts index dd7f03317..2615ea893 100644 --- a/extensions/inference-cohere-extension/src/index.ts +++ b/extensions/inference-cohere-extension/src/index.ts @@ -113,6 +113,8 @@ export default class JanInferenceCohereExtension extends RemoteOAIEngine { } transformResponse = (data: any) => { - return typeof data === 'object' ? data.text : JSON.parse(data).text ?? '' + return typeof data === 'object' + ? data.text + : (JSON.parse(data.replace('data: ', '').trim()).text ?? '') } } From df0801d6d949151aaddff30ea3e7ac3d36b0a6a9 Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 20 Nov 2024 21:40:38 +0700 Subject: [PATCH 3/5] chore: add back stream parameter to o1 models --- extensions/inference-openai-extension/package.json | 2 +- extensions/inference-openai-extension/resources/models.json | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/inference-openai-extension/package.json b/extensions/inference-openai-extension/package.json index 50fe12349..9700383d6 100644 --- a/extensions/inference-openai-extension/package.json +++ b/extensions/inference-openai-extension/package.json @@ -1,7 +1,7 @@ { "name": "@janhq/inference-openai-extension", "productName": "OpenAI Inference Engine", - "version": "1.0.3", + "version": "1.0.4", "description": "This extension enables OpenAI chat completion API calls", "main": "dist/index.js", "module": "dist/module.js", diff --git a/extensions/inference-openai-extension/resources/models.json b/extensions/inference-openai-extension/resources/models.json index 3f41c0a7d..a34bc5460 100644 --- a/extensions/inference-openai-extension/resources/models.json +++ b/extensions/inference-openai-extension/resources/models.json @@ -99,6 +99,7 @@ "parameters": { "temperature": 1, "top_p": 1, + "stream": true, "max_tokens": 32768, "frequency_penalty": 0, "presence_penalty": 0 @@ -126,6 +127,7 @@ "temperature": 1, "top_p": 1, "max_tokens": 65536, + "stream": true, "frequency_penalty": 0, "presence_penalty": 0 }, From 43c5feb3cc1dc0be11a0ad1882904cb7bee42c63 Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 20 Nov 2024 21:45:08 +0700 Subject: [PATCH 4/5] chore: disable stream: false on o1 models --- extensions/inference-openai-extension/src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/extensions/inference-openai-extension/src/index.ts b/extensions/inference-openai-extension/src/index.ts index d484c8ae5..18bc4e0aa 100644 --- a/extensions/inference-openai-extension/src/index.ts +++ b/extensions/inference-openai-extension/src/index.ts @@ -80,7 +80,6 @@ export default class JanInferenceOpenAIExtension extends RemoteOAIEngine { return { ...params, max_completion_tokens: max_tokens, - stream: false, // o1 only support stream = false } } // Pass through for non-preview models From e0a4cafd4617543c53e171553c34b9fcee0ef6ed Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 20 Nov 2024 22:14:24 +0700 Subject: [PATCH 5/5] chore: update test case --- web/containers/ErrorMessage/index.test.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/web/containers/ErrorMessage/index.test.tsx b/web/containers/ErrorMessage/index.test.tsx index d2ae5aa81..306a80e32 100644 --- a/web/containers/ErrorMessage/index.test.tsx +++ b/web/containers/ErrorMessage/index.test.tsx @@ -63,9 +63,6 @@ describe('ErrorMessage Component', () => { render() - expect( - screen.getByText('Apologies, something’s amiss!') - ).toBeInTheDocument() expect(screen.getByText('troubleshooting assistance')).toBeInTheDocument() })